jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/403838 )
Change subject: Steal model fixtures for TestHelper; add dirty tricks
......................................................................
Steal model fixtures for TestHelper; add dirty tricks
Tricks allow for insertion by raw ID.
Bug: T184140
Change-Id: I762106adaff40cf6df151f9479704b730c163308
---
M tests/phpunit/includes/Storage/SqlModelLookupTest.php
M tests/phpunit/includes/TestHelper.php
2 files changed, 62 insertions(+), 45 deletions(-)
Approvals:
Ladsgroup: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/phpunit/includes/Storage/SqlModelLookupTest.php
b/tests/phpunit/includes/Storage/SqlModelLookupTest.php
index 31f7bf8..c69eabe 100644
--- a/tests/phpunit/includes/Storage/SqlModelLookupTest.php
+++ b/tests/phpunit/includes/Storage/SqlModelLookupTest.php
@@ -14,10 +14,6 @@
*/
class SqlModelLookupTest extends MediaWikiLangTestCase {
- const DAMAGING_OLD = 1;
- const REVERTED = 2;
- const DAMAGING = 3;
-
/**
* @var SqlModelLookup
*/
@@ -27,52 +23,22 @@
parent::setUp();
$this->tablesUsed[] = 'ores_model';
- self::insertModelData();
+ TestHelper::insertModelData();
$this->storage = new SqlModelLookup(
MediaWikiServices::getInstance()->getDBLoadBalancer() );
- }
-
- public static function insertModelData() {
- $db = \wfGetDB( DB_MASTER );
- $dump = [
- [
- 'oresm_id' => self::DAMAGING,
- 'oresm_name' => 'damaging',
- 'oresm_version' => '0.0.2',
- 'oresm_is_current' => true
- ],
- [
- 'oresm_id' => self::REVERTED,
- 'oresm_name' => 'reverted',
- 'oresm_version' => '0.0.1',
- 'oresm_is_current' => true
- ],
- [
- 'oresm_id' => self::DAMAGING_OLD,
- 'oresm_name' => 'damaging',
- 'oresm_version' => '0.0.1',
- 'oresm_is_current' => false
- ],
- ];
-
- $db->delete( 'ores_model', '*' );
-
- foreach ( $dump as $row ) {
- $db->insert( 'ores_model', $row );
- }
}
public function testGetModels() {
$models = $this->storage->getModels();
$expected = [
- 'reverted' => [ 'id' => self::REVERTED, 'version' =>
'0.0.1' ],
- 'damaging' => [ 'id' => self::DAMAGING, 'version' =>
'0.0.2' ]
+ 'reverted' => [ 'id' => TestHelper::REVERTED, 'version'
=> '0.0.1' ],
+ 'damaging' => [ 'id' => TestHelper::DAMAGING, 'version'
=> '0.0.2' ]
];
$this->assertEquals( $expected, $models );
}
public function testGetModelId() {
- $this->assertEquals( self::REVERTED,
$this->storage->getModelId( 'reverted' ) );
- $this->assertEquals( self::DAMAGING,
$this->storage->getModelId( 'damaging' ) );
+ $this->assertEquals( TestHelper::REVERTED,
$this->storage->getModelId( 'reverted' ) );
+ $this->assertEquals( TestHelper::DAMAGING,
$this->storage->getModelId( 'damaging' ) );
}
public function testGetInvalidModelId() {
diff --git a/tests/phpunit/includes/TestHelper.php
b/tests/phpunit/includes/TestHelper.php
index de6455a..ccc5917 100644
--- a/tests/phpunit/includes/TestHelper.php
+++ b/tests/phpunit/includes/TestHelper.php
@@ -12,6 +12,10 @@
class TestHelper {
+ const DAMAGING_OLD = 1;
+ const REVERTED = 2;
+ const DAMAGING = 3;
+
public static function getTablesUsed() {
$tablesUsed = [
'recentchanges',
@@ -24,20 +28,67 @@
}
public static function clearOresTables() {
- wfGetDB( DB_MASTER )->delete( 'recentchanges', '*', __METHOD__
);
- wfGetDB( DB_MASTER )->delete( 'ores_model', '*', __METHOD__ );
- wfGetDB( DB_MASTER )->delete( 'ores_classification', '*',
__METHOD__ );
+ \wfGetDB( DB_MASTER )->delete( 'recentchanges', '*', __METHOD__
);
+ \wfGetDB( DB_MASTER )->delete( 'ores_model', '*', __METHOD__ );
+ \wfGetDB( DB_MASTER )->delete( 'ores_classification', '*',
__METHOD__ );
}
- public static function insertOresData( Revision $revision, $scores ) {
+ public static function insertModelData() {
+ $db = \wfGetDB( DB_MASTER );
+ $dump = [
+ [
+ 'oresm_id' => self::DAMAGING,
+ 'oresm_name' => 'damaging',
+ 'oresm_version' => '0.0.2',
+ 'oresm_is_current' => true
+ ],
+ [
+ 'oresm_id' => self::REVERTED,
+ 'oresm_name' => 'reverted',
+ 'oresm_version' => '0.0.1',
+ 'oresm_is_current' => true
+ ],
+ [
+ 'oresm_id' => self::DAMAGING_OLD,
+ 'oresm_name' => 'damaging',
+ 'oresm_version' => '0.0.1',
+ 'oresm_is_current' => false
+ ],
+ ];
+
+ $db->delete( 'ores_model', '*' );
+
+ foreach ( $dump as $row ) {
+ $db->insert( 'ores_model', $row );
+ }
+ }
+
+ /**
+ * @param Revision|int $revision
+ * @param array $scores
+ */
+ public static function insertOresData( $revision, $scores ) {
+ if ( is_numeric( $revision ) ) {
+ $revisionId = $revision;
+ } else {
+ $revisionId = $revision->getId();
+ }
/** @var ModelLookup $modelLookup */
$modelLookup = MediaWikiServices::getInstance()->getService(
'ORESModelLookup' );
// TODO: Use ScoreStorage
$dbData = [];
foreach ( $scores as $modelName => $score ) {
+ // Dirty trick that lets tests insert data for old
models by
+ // specifying its ID.
+ if ( is_numeric( $modelName ) ) {
+ $modelId = $modelName;
+ } else {
+ $modelId = $modelLookup->getModelId( $modelName
);
+ }
+
$dbData[] = [
- 'oresc_rev' => $revision->getId(),
- 'oresc_model' => $modelLookup->getModelId(
$modelName ),
+ 'oresc_rev' => $revisionId,
+ 'oresc_model' => $modelId,
'oresc_class' => 1,
'oresc_probability' => $score,
'oresc_is_predicted' => 0
--
To view, visit https://gerrit.wikimedia.org/r/403838
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I762106adaff40cf6df151f9479704b730c163308
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/ORES
Gerrit-Branch: master
Gerrit-Owner: Awight <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits