Jonaskeutel has uploaded a new change for review. https://gerrit.wikimedia.org/r/210063
Change subject: add TL factory + adopted tests ...................................................................... add TL factory + adopted tests Change-Id: Ibf4f9aab9924842ef89103c707b34930f0b3d9c6 --- M includes/Constraint.php D includes/ConstraintCheck/CheckerMapBuilder.php M includes/ConstraintCheck/Result/CheckResult.php D includes/ConstraintParameterMap.php A includes/ConstraintReportFactory.php M specials/SpecialConstraintReport.php D tests/phpunit/ConstraintParameterMapTest.php R tests/phpunit/ConstraintReportFactoryTest.php M tests/phpunit/DelegatingConstraintCheckerTest.php M tests/phpunit/EvaluateConstraintReportJobServiceTest.php M tests/phpunit/Specials/SpecialConstraintReportTest.php 11 files changed, 219 insertions(+), 181 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikidataQualityConstraints refs/changes/63/210063/1 diff --git a/includes/Constraint.php b/includes/Constraint.php index 4e89ec8..4588351 100644 --- a/includes/Constraint.php +++ b/includes/Constraint.php @@ -15,7 +15,7 @@ public function __construct( $constraintEntry ) { $this->constraintTypeQid = $constraintEntry->constraint_type_qid; - $parameterMap = ConstraintParameterMap::getMap(); + $parameterMap = ConstraintReportFactory::getDefaultInstance()->getConstraintParameterMap(); $constraintParameter = array(); $jsonParameter = json_decode( $constraintEntry->constraint_parameters ); $helper = new ConstraintReportHelper(); diff --git a/includes/ConstraintCheck/CheckerMapBuilder.php b/includes/ConstraintCheck/CheckerMapBuilder.php deleted file mode 100644 index 90f324e..0000000 --- a/includes/ConstraintCheck/CheckerMapBuilder.php +++ /dev/null @@ -1,75 +0,0 @@ -<?php - -namespace WikidataQuality\ConstraintReport\ConstraintCheck; - -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\CommonsLinkChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\FormatChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\OneOfChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifierChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ConflictsWithChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifiersChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TargetRequiredClaimChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ItemChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MandatoryQualifiersChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SymmetricChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\InverseChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\DiffWithinRangeChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SingleValueChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MultiValueChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\UniqueValueChecker; -use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConnectionCheckerHelper; -use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper; -use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper; - - -/** - * Builds a map that maps from the constraint name - * to its corresponding checker - * - * @package WikidataQuality\ConstraintReport\ConstraintCheck - * @author BP2014N1 - * @license GNU GPL v2+ - */ -class CheckerMapBuilder { - - /** - * @var CheckerMapBuilder - */ - private $checkerMap; - - public function __construct( $lookup, $constraintReportHelper ) { - $connectionCheckerHelper = new ConnectionCheckerHelper(); - $rangeCheckerHelper = new RangeCheckerHelper(); - $typeCheckerHelper = new TypeCheckerHelper( $lookup ); - - $map = array( - 'Conflicts with' => new ConflictsWithChecker( $lookup, $constraintReportHelper, $connectionCheckerHelper ), - 'Item' => new ItemChecker( $lookup, $constraintReportHelper, $connectionCheckerHelper ), - 'Target required claim' => new TargetRequiredClaimChecker( $lookup, $constraintReportHelper, $connectionCheckerHelper ), - 'Symmetric' => new SymmetricChecker( $lookup, $constraintReportHelper, $connectionCheckerHelper ), - 'Inverse' => new InverseChecker( $lookup, $constraintReportHelper, $connectionCheckerHelper ), - 'Qualifier' => new QualifierChecker( $constraintReportHelper ), - 'Qualifiers' => new QualifiersChecker( $constraintReportHelper ), - 'Mandatory qualifiers' => new MandatoryQualifiersChecker( $constraintReportHelper ), - 'Range' => new RangeChecker( $constraintReportHelper, $rangeCheckerHelper ), - 'Diff within range' => new DiffWithinRangeChecker( $constraintReportHelper, $rangeCheckerHelper ), - 'Type' => new TypeChecker( $lookup, $constraintReportHelper, $typeCheckerHelper ), - 'Value type' => new ValueTypeChecker( $lookup, $constraintReportHelper, $typeCheckerHelper ), - 'Single value' => new SingleValueChecker(), - 'Multi value' => new MultiValueChecker(), - 'Unique value' => new UniqueValueChecker(), - 'Format' => new FormatChecker( $constraintReportHelper ), - 'Commons link' => new CommonsLinkChecker( $constraintReportHelper ), - 'One of' => new OneOfChecker( $constraintReportHelper ), - ); - $this->checkerMap = $map; - } - - public function getCheckerMap() { - return $this->checkerMap; - } - -} \ No newline at end of file diff --git a/includes/ConstraintCheck/Result/CheckResult.php b/includes/ConstraintCheck/Result/CheckResult.php old mode 100755 new mode 100644 diff --git a/includes/ConstraintParameterMap.php b/includes/ConstraintParameterMap.php deleted file mode 100644 index cf0d4ed..0000000 --- a/includes/ConstraintParameterMap.php +++ /dev/null @@ -1,35 +0,0 @@ -<?php - -namespace WikidataQuality\ConstraintReport; - - -class ConstraintParameterMap { - - /** - * Maps the constraint name to an array of parameters they need to have - * - * @return array - */ - static function getMap() { - return array( - 'Commons link' => array( 'namespace' ), - 'Conflicts with' => array( 'property', 'item' ), - 'Diff within range' => array( 'property', 'minimum_quantity', 'maximum_quantity' ), - 'Format' => array( 'pattern' ), - 'Inverse' => array( 'property' ), - 'Item' => array( 'property', 'item' ), - 'Mandatory qualifiers' => array( 'property' ), - 'Multi value' => array(), - 'One of' => array( 'item' ), - 'Qualifier' => array(), - 'Qualifiers' => array( 'property' ), - 'Range' => array( 'minimum_quantity', 'maximum_quantity', 'minimum_date', 'maximum_date' ), - 'Single value' => array(), - 'Symmetric' => array(), - 'Target required claim' => array( 'property', 'item' ), - 'Type' => array( 'class', 'relation' ), - 'Unique value' => array(), - 'Value type' => array( 'class', 'relation' ) - ); - } -} \ No newline at end of file diff --git a/includes/ConstraintReportFactory.php b/includes/ConstraintReportFactory.php new file mode 100644 index 0000000..0925a78 --- /dev/null +++ b/includes/ConstraintReportFactory.php @@ -0,0 +1,161 @@ +<?php + +namespace WikidataQuality\ConstraintReport; + + +use Wikibase\Repo\WikibaseRepo; +use Wikibase\Lib\Store\EntityLookup; +use WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\CommonsLinkChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\FormatChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\OneOfChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifierChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TypeChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ConflictsWithChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\QualifiersChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\TargetRequiredClaimChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ItemChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MandatoryQualifiersChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\ValueTypeChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SymmetricChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\InverseChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\DiffWithinRangeChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\SingleValueChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\MultiValueChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Checker\UniqueValueChecker; +use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConnectionCheckerHelper; +use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper; +use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper; + + +class ConstraintReportFactory { + + /** + * @var constraintRepository + */ + private $constraintRepository; + + /** + * @var array + */ + private $constraintCheckerMap; + + /** + * @var DelegatingConstraintChecker + */ + private $delegatingConstraintChecker; + + /** + * @var EntityLookup + */ + private $lookup; + + /** + * @var array + */ + private $constraintParameterMap; + + /** + * Returns the default instance. + * IMPORTANT: Use only when it is not feasible to inject an instance properly. + * + * @return ConstraintReportFactory + */ + public static function getDefaultInstance() { + static $instance = null; + + if ( $instance === null ) { + $instance = new self( WikibaseRepo::getDefaultInstance()->getEntityLookup() ); + } + + return $instance; + } + + public function __construct( $lookup ) { + $this->lookup = $lookup; + } + + /** + * @return DelegatingConstraintChecker + */ + public function getConstraintChecker() { + if ( $this->delegatingConstraintChecker === null ) { + $this->delegatingConstraintChecker = new DelegatingConstraintChecker( $this->lookup, $this->getConstraintCheckerMap( $this->lookup ) ); + } + + return $this->delegatingConstraintChecker; + } + + /** + * @return array + */ + public function getConstraintCheckerMap(){ + if ( $this->constraintCheckerMap === null ) { + $constraintReportHelper = new ConstraintReportHelper(); + $connectionCheckerHelper = new ConnectionCheckerHelper(); + $rangeCheckerHelper = new RangeCheckerHelper(); + $typeCheckerHelper = new TypeCheckerHelper( $this->lookup ); + + $this->constraintCheckerMap = array( + 'Conflicts with' => new ConflictsWithChecker( $this->lookup, $constraintReportHelper, $connectionCheckerHelper ), + 'Item' => new ItemChecker( $this->lookup, $constraintReportHelper, $connectionCheckerHelper ), + 'Target required claim' => new TargetRequiredClaimChecker( $this->lookup, $constraintReportHelper, $connectionCheckerHelper ), + 'Symmetric' => new SymmetricChecker( $this->lookup, $constraintReportHelper, $connectionCheckerHelper ), + 'Inverse' => new InverseChecker( $this->lookup, $constraintReportHelper, $connectionCheckerHelper ), + 'Qualifier' => new QualifierChecker( $constraintReportHelper ), + 'Qualifiers' => new QualifiersChecker( $constraintReportHelper ), + 'Mandatory qualifiers' => new MandatoryQualifiersChecker( $constraintReportHelper ), + 'Range' => new RangeChecker( $constraintReportHelper, $rangeCheckerHelper ), + 'Diff within range' => new DiffWithinRangeChecker( $constraintReportHelper, $rangeCheckerHelper ), + 'Type' => new TypeChecker( $this->lookup, $constraintReportHelper, $typeCheckerHelper ), + 'Value type' => new ValueTypeChecker( $this->lookup, $constraintReportHelper, $typeCheckerHelper ), + 'Single value' => new SingleValueChecker(), + 'Multi value' => new MultiValueChecker(), + 'Unique value' => new UniqueValueChecker(), + 'Format' => new FormatChecker( $constraintReportHelper ), + 'Commons link' => new CommonsLinkChecker( $constraintReportHelper ), + 'One of' => new OneOfChecker( $constraintReportHelper ), + ); + } + + return $this->constraintCheckerMap; + } + + public function getConstraintParameterMap() { + if ( $this->constraintParameterMap === null ) { + $this->constraintParameterMap = array( + 'Commons link' => array( 'namespace' ), + 'Conflicts with' => array( 'property', 'item' ), + 'Diff within range' => array( 'property', 'minimum_quantity', 'maximum_quantity' ), + 'Format' => array( 'pattern' ), + 'Inverse' => array( 'property' ), + 'Item' => array( 'property', 'item' ), + 'Mandatory qualifiers' => array( 'property' ), + 'Multi value' => array(), + 'One of' => array( 'item' ), + 'Qualifier' => array(), + 'Qualifiers' => array( 'property' ), + 'Range' => array( 'minimum_quantity', 'maximum_quantity', 'minimum_date', 'maximum_date' ), + 'Single value' => array(), + 'Symmetric' => array(), + 'Target required claim' => array( 'property', 'item' ), + 'Type' => array( 'class', 'relation' ), + 'Unique value' => array(), + 'Value type' => array( 'class', 'relation' ) + ); + } + + return $this->constraintParameterMap; + } + + public function getConstraintRepository() { + if ( $this->constraintRepository === null ) { + $this->constraintRepository = new ConstraintRepository( CONSTRAINT_TABLE ); + } + + return $this->constraintRepository; + } + +} \ No newline at end of file diff --git a/specials/SpecialConstraintReport.php b/specials/SpecialConstraintReport.php old mode 100755 new mode 100644 index d585c6d..af6b92d --- a/specials/SpecialConstraintReport.php +++ b/specials/SpecialConstraintReport.php @@ -30,6 +30,7 @@ use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder; use WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker; use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper; +use WikidataQuality\ConstraintReport\ConstraintReportFactory; use WikidataQuality\ConstraintReport\EvaluateConstraintReportJob; use WikidataQuality\ConstraintReport\EvaluateConstraintReportJobService; use WikidataQuality\Html\HtmlTable; @@ -337,11 +338,7 @@ */ protected function executeCheck( Entity $entity ) { - $constraintReportHelper = new ConstraintReportHelper(); - $checkerMapBuilder = new CheckerMapBuilder( $this->entityLookup, $constraintReportHelper ); - $checkerMap = $checkerMapBuilder->getCheckerMap(); - - $constraintChecker = new DelegatingConstraintChecker( $this->entityLookup, $checkerMap ); + $constraintChecker = ConstraintReportFactory::getDefaultInstance()->getConstraintChecker(); $results = $constraintChecker->checkAgainstConstraints( $entity ); $this->doEvaluation( $entity, $results ); diff --git a/tests/phpunit/ConstraintParameterMapTest.php b/tests/phpunit/ConstraintParameterMapTest.php deleted file mode 100644 index 9023bf0..0000000 --- a/tests/phpunit/ConstraintParameterMapTest.php +++ /dev/null @@ -1,21 +0,0 @@ -<?php - -namespace WikidataQuality\ConstraintReport\Tests; - -use WikidataQuality\ConstraintReport\ConstraintParameterMap; - - -/** - * @covers WikidataQuality\ConstraintReport\ConstraintParameterMap - * - * @author BP2014N1 - * @license GNU GPL v2+ - */ -class ConstraintParameterMapTest extends \MediaWikiTestCase { - - public function testGetMap() { - $map = ConstraintParameterMap::getMap(); - $this->assertEquals( array( 'pattern' ), $map['Format'] ); - } - -} diff --git a/tests/phpunit/CheckerMapBuilderTest.php b/tests/phpunit/ConstraintReportFactoryTest.php similarity index 63% rename from tests/phpunit/CheckerMapBuilderTest.php rename to tests/phpunit/ConstraintReportFactoryTest.php index 10bfa7c..52c1b52 100644 --- a/tests/phpunit/CheckerMapBuilderTest.php +++ b/tests/phpunit/ConstraintReportFactoryTest.php @@ -1,14 +1,12 @@ <?php -namespace WikidataQuality\ConstraintReport\Test\ConstraintChecker; +namespace WikidataQuality\ConstraintReport\Test; -use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder; -use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper; -use WikidataQuality\Tests\Helper\JsonFileEntityLookup; +use WikidataQuality\ConstraintReport\ConstraintReportFactory; /** - * @covers WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder + * @covers WikidataQuality\ConstraintReport\ConstraintReportFactory * * @uses WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper * @uses WikidataQuality\ConstraintReport\ConstraintCheck\Checker\RangeChecker @@ -33,43 +31,55 @@ * @author BP2014N1 * @license GNU GPL v2+ */ -class CheckerMapBuilderTest extends \MediaWikiTestCase { - - private $checkerMap; - - protected function setUp() { - parent::setUp(); - $lookup = new JsonFileEntityLookup( __DIR__ ); - $this->checkerMap = new CheckerMapBuilder( $lookup, new ConstraintReportHelper() ); - - } - - protected function tearDown() { - unset( $this->checkerMap ); - parent::tearDown(); - } +class ConstraintReportFactoryTest extends \MediaWikiTestCase { public function testGetCheckerMap() { - $map = $this->checkerMap->getCheckerMap(); + $map = ConstraintReportFactory::getDefaultInstance()->getConstraintCheckerMap(); $classPrefix = 'WikidataQuality\\ConstraintReport\\ConstraintCheck\\Checker\\'; - $this->assertEquals( $classPrefix . 'SingleValueChecker', get_class( $map['Single value'] ) ); - $this->assertEquals( $classPrefix . 'MultiValueChecker', get_class( $map['Multi value'] ) ); - $this->assertEquals( $classPrefix . 'UniqueValueChecker', get_class( $map['Unique value'] ) ); - $this->assertEquals( $classPrefix . 'SymmetricChecker', get_class( $map['Symmetric'] ) ); - $this->assertEquals( $classPrefix . 'InverseChecker', get_class( $map['Inverse'] ) ); - $this->assertEquals( $classPrefix . 'ItemChecker', get_class( $map['Item'] ) ); - $this->assertEquals( $classPrefix . 'ConflictsWithChecker', get_class( $map['Conflicts with'] ) ); - $this->assertEquals( $classPrefix . 'TargetRequiredClaimChecker', get_class( $map['Target required claim'] ) ); - $this->assertEquals( $classPrefix . 'TypeChecker', get_class( $map['Type'] ) ); - $this->assertEquals( $classPrefix . 'ValueTypeChecker', get_class( $map['Value type'] ) ); - $this->assertEquals( $classPrefix . 'OneOfChecker', get_class( $map['One of'] ) ); - $this->assertEquals( $classPrefix . 'CommonsLinkChecker', get_class( $map['Commons link'] ) ); - $this->assertEquals( $classPrefix . 'FormatChecker', get_class( $map['Format'] ) ); - $this->assertEquals( $classPrefix . 'RangeChecker', get_class( $map['Range'] ) ); - $this->assertEquals( $classPrefix . 'DiffWithinRangeChecker', get_class( $map['Diff within range'] ) ); - $this->assertEquals( $classPrefix . 'QualifierChecker', get_class( $map['Qualifier'] ) ); - $this->assertEquals( $classPrefix . 'QualifiersChecker', get_class( $map['Qualifiers'] ) ); - $this->assertEquals( $classPrefix . 'MandatoryQualifiersChecker', get_class( $map['Mandatory qualifiers'] ) ); + $this->assertEquals( $classPrefix . 'SingleValueChecker', get_class( $map[ 'Single value' ] ) ); + $this->assertEquals( $classPrefix . 'MultiValueChecker', get_class( $map[ 'Multi value' ] ) ); + $this->assertEquals( $classPrefix . 'UniqueValueChecker', get_class( $map[ 'Unique value' ] ) ); + $this->assertEquals( $classPrefix . 'SymmetricChecker', get_class( $map[ 'Symmetric' ] ) ); + $this->assertEquals( $classPrefix . 'InverseChecker', get_class( $map[ 'Inverse' ] ) ); + $this->assertEquals( $classPrefix . 'ItemChecker', get_class( $map[ 'Item' ] ) ); + $this->assertEquals( $classPrefix . 'ConflictsWithChecker', get_class( $map[ 'Conflicts with' ] ) ); + $this->assertEquals( $classPrefix . 'TargetRequiredClaimChecker', get_class( $map[ 'Target required claim' ] ) ); + $this->assertEquals( $classPrefix . 'TypeChecker', get_class( $map[ 'Type' ] ) ); + $this->assertEquals( $classPrefix . 'ValueTypeChecker', get_class( $map[ 'Value type' ] ) ); + $this->assertEquals( $classPrefix . 'OneOfChecker', get_class( $map[ 'One of' ] ) ); + $this->assertEquals( $classPrefix . 'CommonsLinkChecker', get_class( $map[ 'Commons link' ] ) ); + $this->assertEquals( $classPrefix . 'FormatChecker', get_class( $map[ 'Format' ] ) ); + $this->assertEquals( $classPrefix . 'RangeChecker', get_class( $map[ 'Range' ] ) ); + $this->assertEquals( $classPrefix . 'DiffWithinRangeChecker', get_class( $map[ 'Diff within range' ] ) ); + $this->assertEquals( $classPrefix . 'QualifierChecker', get_class( $map[ 'Qualifier' ] ) ); + $this->assertEquals( $classPrefix . 'QualifiersChecker', get_class( $map[ 'Qualifiers' ] ) ); + $this->assertEquals( $classPrefix . 'MandatoryQualifiersChecker', get_class( $map[ 'Mandatory qualifiers' ] ) ); + } + + public function testGetMap() { + $map = ConstraintReportFactory::getDefaultInstance()->getConstraintParameterMap(); + $this->assertEquals( array( 'pattern' ), $map['Format'] ); + } + + public function testGetDefaultInstance() { + $this->assertInstanceOf( + 'WikidataQuality\ConstraintReport\ConstraintReportFactory', + ConstraintReportFactory::getDefaultInstance() + ); + } + + public function testGetConstraintRepository() { + $this->assertInstanceOf( + 'WikidataQuality\ConstraintReport\ConstraintRepository', + ConstraintReportFactory::getDefaultInstance()->getConstraintRepository() + ); + } + + public function testGetConstraintChecker() { + $this->assertInstanceOf( + 'WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker', + ConstraintReportFactory::getDefaultInstance()->getConstraintChecker() + ); } } \ No newline at end of file diff --git a/tests/phpunit/DelegatingConstraintCheckerTest.php b/tests/phpunit/DelegatingConstraintCheckerTest.php index 353c519..f64d9e3 100644 --- a/tests/phpunit/DelegatingConstraintCheckerTest.php +++ b/tests/phpunit/DelegatingConstraintCheckerTest.php @@ -6,6 +6,7 @@ use WikidataQuality\ConstraintReport\ConstraintCheck\CheckerMapBuilder; use WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker; use WikidataQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintReportHelper; +use WikidataQuality\ConstraintReport\ConstraintReportFactory; use WikidataQuality\Tests\Helper\JsonFileEntityLookup; @@ -46,8 +47,8 @@ protected function setUp() { parent::setUp(); $this->lookup = new JsonFileEntityLookup( __DIR__ ); - $checkerMap = new CheckerMapBuilder( $this->lookup, new ConstraintReportHelper() ); - $this->constraintChecker = new DelegatingConstraintChecker( $this->lookup, $checkerMap->getCheckerMap() ); + $factory = new ConstraintReportFactory( $this->lookup ); + $this->constraintChecker = $factory->getConstraintChecker(); // specify database tables used by this test $this->tablesUsed[ ] = CONSTRAINT_TABLE; diff --git a/tests/phpunit/EvaluateConstraintReportJobServiceTest.php b/tests/phpunit/EvaluateConstraintReportJobServiceTest.php index e6fba53..adb2cde 100644 --- a/tests/phpunit/EvaluateConstraintReportJobServiceTest.php +++ b/tests/phpunit/EvaluateConstraintReportJobServiceTest.php @@ -16,8 +16,6 @@ /** * @covers WikidataQuality\ConstraintReport\EvaluateConstraintReportJobService * - * @group Database - * * @uses WikidataQuality\ConstraintReport\ConstraintCheck\Result\CheckResult * @uses WikidataQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker * @@ -54,7 +52,7 @@ $results[] = new CheckResult( $statement, $this->constraintName, array (), 'yet another one' ); $this->results = $results; - $this->params = array( 'entity' => $this->entity, 'referenceTimestamp' => null, 'results' => $results ); + $this->params = array( 'entityId' => $this->entity->getId(), 'referenceTimestamp' => null, 'results' => $results ); } diff --git a/tests/phpunit/Specials/SpecialConstraintReportTest.php b/tests/phpunit/Specials/SpecialConstraintReportTest.php old mode 100755 new mode 100644 index e646872..c955097 --- a/tests/phpunit/Specials/SpecialConstraintReportTest.php +++ b/tests/phpunit/Specials/SpecialConstraintReportTest.php @@ -55,6 +55,8 @@ */ private static $hasSetup; + private $testLogFileName; + private $oldLogFileName; protected function setUp() { parent::setUp(); -- To view, visit https://gerrit.wikimedia.org/r/210063 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibf4f9aab9924842ef89103c707b34930f0b3d9c6 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikidataQualityConstraints Gerrit-Branch: v1 Gerrit-Owner: Jonaskeutel <jonas.keu...@student.hpi.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits