Soeren.oldag has submitted this change and it was merged. Change subject: now saving additional information correctly for violation ......................................................................
now saving additional information correctly for violation Change-Id: I917d1ca0656e40601b3e17235363925035f8c7b2 --- M includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php M tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php 2 files changed, 12 insertions(+), 2 deletions(-) Approvals: Soeren.oldag: Verified; Looks good to me, approved diff --git a/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php b/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php index 453bb12..d392c74 100755 --- a/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php +++ b/includes/CrossCheck/Result/CrossCheckResultToViolationTranslator.php @@ -2,6 +2,7 @@ namespace WikidataQuality\ExternalValidation\CrossCheck\Result; +use DataValues\Serializers\DataValueSerializer; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Entity\PropertyId; use Wikibase\DataModel\Entity\Entity; @@ -33,9 +34,16 @@ $constraintClaimGuid = md5( $constraintClaimGuid ); $revisionId = $this->getRevisionIdForEntity( $entityId ); $status = CrossCheckResult::STATUS_DATA_MISMATCH; + + $serializer = new DataValueSerializer(); + $externalValues = $crossCheckResult->getCompareResult()->getExternalValues(); + $externalValuesSerialized = array(); + foreach( $externalValues as $externalValue ){ + $externalValuesSerialized[] = $serializer->serialize( $externalValue ); + } $additionalInformation = array( 'dump_id' => $crossCheckResult->getDumpMetaInformation()->getDumpId(), - 'external_values' => $crossCheckResult->getCompareResult()->getExternalValues() + 'external_values' => $externalValuesSerialized ); $additionalInformation = json_encode( $additionalInformation ); diff --git a/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php b/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php index 43d15d9..2299b25 100755 --- a/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php +++ b/tests/phpunit/CrossCheck/Result/CrossCheckResultToViolationTranslatorTest.php @@ -2,6 +2,7 @@ namespace WikidataQuality\ExternalValidation\Test\CrossCheck\Result; +use DataValues\StringValue; use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\PropertyId; use Wikibase\DataModel\Entity\ItemId; @@ -92,7 +93,7 @@ public function testSingleViolationResult() { $compareResult = new CompareResult( $this->getDataValueMock(), - array( $this->getDataValueMock() ), + array( new StringValue( 'test' ) ), true ); @@ -106,6 +107,7 @@ $this->assertEquals( $this->claimGuid, $violation->getClaimGuid() ); $this->assertEquals( md5( $this->dumpMetaInformation->getImportDate()->format( 'YmdHis' ) . $this->dumpMetaInformation->getSourceItemId() ), $violation->getConstraintClaimGuid() ); $this->assertEquals( $this->dumpMetaInformation->getSourceItemId(), $violation->getConstraintTypeEntityId() ); + $this->assertEquals( '{"dump_id":"foo","external_values":[{"value":"test","type":"string"}]}', $violation->getAdditionalInfo() ); } -- To view, visit https://gerrit.wikimedia.org/r/206644 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I917d1ca0656e40601b3e17235363925035f8c7b2 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/WikidataQualityExternalValidation Gerrit-Branch: master Gerrit-Owner: Dominic.sauer <dominic.sa...@yahoo.de> Gerrit-Reviewer: Soeren.oldag <soeren_ol...@freenet.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits