tests: Add @group Database and use namespaced Status

MassMessageTestCase::setUp calls ::updatePage, which use
WikiPage::doUserEditContent

Use namespaced Status (from f4e68e05) for error:
PHPUnit\Framework\MockObject\IncompatibleReturnValueException: Method
getContent may not return value of type MediaWiki\Status\Status, its
declared return type is "Status"

Remove static cache from DatabaseLookup::getDatabases, that property is
not resetted between test runs

Change-Id: I412f3c6788bdc888bddbefdaf9c90c6a0b051ab4
这个提交包含在:
Umherirrender 2023-09-20 21:30:43 +02:00
父节点 c4bdb3d94d
当前提交 7076b79547
共有 16 个文件被更改,包括 36 次插入30 次删除

查看文件

@ -7,8 +7,8 @@ use Job;
use MediaWiki\MassMessage\MassMessage;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use Status;
use TextContent;
use WikitextContent;

查看文件

@ -16,28 +16,24 @@ class DatabaseLookup {
* @return array
*/
public static function getDatabases() {
static $mapping = null;
if ( $mapping === null ) {
$cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
$cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
$mapping = $cache->getWithSetCallback(
$cache->makeGlobalKey( 'massmessage', 'urltodb' ),
$cache::TTL_HOUR,
static function () {
global $wgConf;
return $cache->getWithSetCallback(
$cache->makeGlobalKey( 'massmessage', 'urltodb' ),
$cache::TTL_HOUR,
static function () {
global $wgConf;
$dbs = $wgConf->getLocalDatabases();
$mapping = [];
foreach ( $dbs as $dbname ) {
$url = WikiMap::getWiki( $dbname )->getCanonicalServer();
$site = UrlHelper::getBaseUrl( $url );
$mapping[$site] = $dbname;
}
return $mapping;
$dbs = $wgConf->getLocalDatabases();
$mapping = [];
foreach ( $dbs as $dbname ) {
$url = WikiMap::getWiki( $dbname )->getCanonicalServer();
$site = UrlHelper::getBaseUrl( $url );
$mapping[$site] = $dbname;
}
);
}
return $mapping;
return $mapping;
}
);
}
/**

查看文件

@ -4,7 +4,7 @@ declare( strict_types = 1 );
namespace MediaWiki\MassMessage\MessageContentFetcher;
use MediaWiki\MassMessage\LanguageAwareText;
use Status;
use MediaWiki\Status\Status;
/**
* Fetches content from labeled sections

查看文件

@ -7,9 +7,9 @@ use ContentHandler;
use MediaWiki\MassMessage\LanguageAwareText;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\WikiMap\WikiMap;
use Status;
/**
* Fetches content from the local wiki

查看文件

@ -5,8 +5,8 @@ namespace MediaWiki\MassMessage\MessageContentFetcher;
use MediaWiki\Http\HttpRequestFactory;
use MediaWiki\MassMessage\LanguageAwareText;
use MediaWiki\Status\Status;
use SiteConfiguration;
use Status;
/**
* Fetches content from a remote wiki

查看文件

@ -10,8 +10,8 @@ use MediaWiki\MassMessage\LanguageAwareText;
use MediaWiki\MassMessage\MessageContentFetcher\LabeledSectionContentFetcher;
use MediaWiki\MassMessage\MessageContentFetcher\LocalMessageContentFetcher;
use MediaWiki\MassMessage\MessageContentFetcher\RemoteMessageContentFetcher;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use Status;
/**
* Contains logic to interact with page being sent as a mesasges

查看文件

@ -4,8 +4,8 @@ declare( strict_types = 1 );
namespace MediaWiki\MassMessage\PageMessage;
use MediaWiki\MassMessage\LanguageAwareText;
use MediaWiki\Status\Status;
use Message;
use Status;
/**
* Returned by PageMessageBuilder class: getContent and getContentWithFallback method

查看文件

@ -7,10 +7,10 @@ use MediaWiki\MassMessage\Services;
use MediaWiki\MassMessage\UrlHelper;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\User\UserIdentity;
use MediaWiki\WikiMap\WikiMap;
use Status;
use function wfMessage;
/**

查看文件

@ -7,9 +7,9 @@ use HTMLForm;
use MediaWiki\MassMessage\Content\MassMessageListContentHandler;
use MediaWiki\MassMessage\Lookup\SpamlistLookup;
use MediaWiki\MediaWikiServices;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\WikiMap\WikiMap;
use Status;
class SpecialCreateMassMessageList extends FormSpecialPage {

查看文件

@ -16,10 +16,10 @@ use MediaWiki\Permissions\RestrictionStore;
use MediaWiki\Revision\RevisionLookup;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\User\UserOptionsLookup;
use MediaWiki\Watchlist\WatchlistManager;
use Status;
class SpecialEditMassMessageList extends FormSpecialPage {

查看文件

@ -16,6 +16,7 @@ use MediaWiki\MassMessage\PageMessage\PageMessageBuilder;
use MediaWiki\MassMessage\RequestProcessing\MassMessageRequest;
use MediaWiki\MassMessage\RequestProcessing\MassMessageRequestParser;
use MediaWiki\MediaWikiServices;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\WikiMap\WikiMap;
use Message;
@ -23,7 +24,6 @@ use OOUI\FieldsetLayout;
use OOUI\HtmlSnippet;
use OOUI\PanelLayout;
use OOUI\Widget;
use Status;
use TextContent;
/**

查看文件

@ -4,6 +4,9 @@ namespace MediaWiki\MassMessage;
use MediaWiki\Title\Title;
/**
* @group Database
*/
class UrlHelperTest extends MassMessageTestCase {
/**

查看文件

@ -4,6 +4,9 @@ namespace MediaWiki\MassMessage;
use MediaWiki\MassMessage\Content\MassMessageListContent;
/**
* @group Database
*/
class MassMessageListContentTest extends MassMessageTestCase {
public static function provideIsValid() {

查看文件

@ -4,6 +4,9 @@ namespace MediaWiki\MassMessage\Lookup;
use MediaWiki\MassMessage\MassMessageTestCase;
/**
* @group Database
*/
class DatabaseLookupTest extends MassMessageTestCase {
public static function provideGetDBName() {

查看文件

@ -10,6 +10,7 @@ use MediaWiki\WikiMap\WikiMap;
/**
* Tests for Parser functions related to target processing
* @group Database
*/
class ParserFunctionSpamlistLookupTest extends MassMessageTestCase {

查看文件

@ -9,10 +9,10 @@ use MediaWiki\MassMessage\LanguageAwareText;
use MediaWiki\MassMessage\MessageContentFetcher\LabeledSectionContentFetcher;
use MediaWiki\MassMessage\MessageContentFetcher\LocalMessageContentFetcher;
use MediaWiki\MassMessage\MessageContentFetcher\RemoteMessageContentFetcher;
use MediaWiki\Status\Status;
use MediaWiki\Title\Title;
use MediaWiki\WikiMap\WikiMap;
use MediaWikiIntegrationTestCase;
use Status;
/** @coversDefaultClass \MediaWiki\MassMessage\PageMessage\PageMessageBuilder */
class PageMessageBuilderTest extends MediaWikiIntegrationTestCase {