diff --git a/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java b/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java index 39ec89b4c7d..cafbdebbff2 100644 --- a/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java +++ b/hapi-fhir-jpaserver-mdm/src/test/java/ca/uhn/fhir/jpa/mdm/interceptor/MdmEventIT.java @@ -80,7 +80,19 @@ public class MdmEventIT extends BaseMdmR4Test { MdmLinkEvent linkChangeEvent = myMdmHelper.getAfterMdmLatch().getLatchInvocationParameterOfType(MdmLinkEvent.class); assertNotNull(linkChangeEvent); - // MdmTransactionContext ctx = myMdmMatchLinkSvc.updateMdmLinksForMdmSource(patient2, createContextForUpdate(patient2.getIdElement().getResourceType())); + ourLog.info("Got event: {}", linkChangeEvent); + + long expectTwoPossibleMatchesForPatientTwo = linkChangeEvent.getMdmLinks() + .stream() + .filter(l -> l.getSourceId().equals(patient2.getIdElement().toVersionless().getValueAsString()) && l.getMatchResult() == MdmMatchResultEnum.POSSIBLE_MATCH) + .count(); + assertEquals(2, expectTwoPossibleMatchesForPatientTwo); + + long expectOnePossibleDuplicate = linkChangeEvent.getMdmLinks() + .stream() + .filter(l -> l.getMatchResult() == MdmMatchResultEnum.POSSIBLE_DUPLICATE) + .count(); + assertEquals(1, expectOnePossibleDuplicate); List mdmLinkEvent = linkChangeEvent.getMdmLinks(); assertEquals(3, mdmLinkEvent.size()); @@ -122,10 +134,9 @@ public class MdmEventIT extends BaseMdmR4Test { assertEquals(1, linkChangeEvent.getMdmLinks().size()); MdmLinkJson link = linkChangeEvent.getMdmLinks().get(0); - assertEquals(patient1.getResourceType() + "/" + patient1.getIdElement().getIdPart(), link.getSourceId()); + assertEquals(patient1.getIdElement().toVersionless().getValueAsString(), link.getSourceId()); assertEquals(getLinkByTargetId(patient1).getGoldenResourcePid(), new IdDt(link.getGoldenResourceId()).getIdPartAsLong()); assertEquals(MdmMatchResultEnum.MATCH, link.getMatchResult()); } - } diff --git a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/api/MdmLinkJson.java b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/api/MdmLinkJson.java index 424298418b4..d21f8deada6 100644 --- a/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/api/MdmLinkJson.java +++ b/hapi-fhir-server-mdm/src/main/java/ca/uhn/fhir/mdm/api/MdmLinkJson.java @@ -175,4 +175,22 @@ public class MdmLinkJson implements IModelJson { public void setRuleCount(Long theRuleCount) { myRuleCount = theRuleCount; } + + @Override + public String toString() { + return "MdmLinkJson{" + + "myGoldenResourceId='" + myGoldenResourceId + '\'' + + ", mySourceId='" + mySourceId + '\'' + + ", myMatchResult=" + myMatchResult + + ", myLinkSource=" + myLinkSource + + ", myCreated=" + myCreated + + ", myUpdated=" + myUpdated + + ", myVersion='" + myVersion + '\'' + + ", myEidMatch=" + myEidMatch + + ", myLinkCreatedNewResource=" + myLinkCreatedNewResource + + ", myVector=" + myVector + + ", myScore=" + myScore + + ", myRuleCount=" + myRuleCount + + '}'; + } }