1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
<?php
use MediaWiki\Content\ContentHandler;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Tests\User\TempUser\TempUserTestTrait;
use MediaWiki\Title\Title;
use Psr\Log\NullLogger;
/**
* @group Database
* @covers \ImportableOldRevisionImporter
*/
class ImportableOldRevisionImporterTest extends MediaWikiIntegrationTestCase {
use TempUserTestTrait;
protected function setUp(): void {
parent::setUp();
$this->getServiceContainer()->getChangeTagsStore()->defineTag( 'tag1' );
}
public static function provideTestCases() {
yield [ [] ];
yield [ [ "tag1" ] ];
}
/**
* @dataProvider provideTestCases
*/
public function testImport( $expectedTags ) {
$services = $this->getServiceContainer();
$title = Title::newFromText( __CLASS__ . rand() );
$revision = new WikiRevision();
$revision->setTitle( $title );
$revision->setTags( $expectedTags );
$content = ContentHandler::makeContent( 'dummy edit', $title );
$revision->setContent( SlotRecord::MAIN, $content );
$importer = new ImportableOldRevisionImporter(
true,
new NullLogger(),
$services->getConnectionProvider(),
$services->getRevisionStoreFactory()->getRevisionStoreForImport(),
$services->getSlotRoleRegistry(),
$services->getWikiPageFactory(),
$services->getPageUpdaterFactory(),
$services->getUserFactory()
);
$result = $importer->import( $revision );
$this->assertTrue( $result );
$tags = $this->getServiceContainer()->getChangeTagsStore()->getTags(
$this->getDb(),
null,
$title->getLatestRevID()
);
$this->assertSame( $expectedTags, $tags );
}
/**
* @covers \MediaWiki\Revision\RevisionStoreFactory::getRevisionStoreForImport
* @covers \MediaWiki\User\ActorMigration::newMigrationForImport
* @covers \MediaWiki\User\ActorStoreFactory::getActorStoreForImport
* @covers \MediaWiki\User\ActorStoreFactory::getActorNormalizationForImport
* @dataProvider provideTestCases
*/
public function testImportWithTempAccountsEnabled( $expectedTags ) {
$this->enableAutoCreateTempUser();
$this->testImport( $expectedTags );
}
}
|