package gov.nist.registry.ws.sq.test.getRelated; import gov.nist.registry.common2.registry.Metadata; import gov.nist.registry.common2.registry.MetadataSupport; import gov.nist.registry.common2.registry.RegistryResponse; import gov.nist.registry.common2.registry.Response; import gov.nist.registry.common2.registry.storedquery.SqParams; import gov.nist.registry.common2.registry.storedquery.StoredQuerySupport; import gov.nist.registry.ws.configurations.ebxmlrr21.Ebxmlrr21StoredQueryFactory; import gov.nist.registry.ws.sq.test.TestBase; import gov.nist.registry.ws.sq.test.testdata.FindDocsTestData; import gov.nist.registry.ws.sq.test.testdata.RelatedTestData; import org.testng.annotations.Test; public class BasicGetRelated extends TestBase { RelatedTestData testdata; FindDocsTestData testdata2; public BasicGetRelated() throws Exception { super(); testdata = new RelatedTestData(); testdata2 = new FindDocsTestData(); } @Test public void basicObjectRefQuery() throws Exception { StoredQuerySupport sqs = new StoredQuerySupport(this , log); SqParams params = new SqParams(); sqs.params = params; sqs.return_leaf_class = false; params.addStringParm("$XDSDocumentEntryEntryUUID", testdata.getOrigDocId()); params.addListParm("$AssociationTypes", MetadataSupport.xdsB_ihe_assoc_namespace_uri + ":RPLC"); // implementation specific factory Ebxmlrr21StoredQueryFactory eFact = new Ebxmlrr21StoredQueryFactory(params, new RegistryResponse(Response.version_2),log); Metadata results = eFact.GetRelatedDocuments(sqs); log.addOtherParam("results size", String.valueOf(results.getObjectRefs().size())); log.addOtherParam("Ids", results.getObjectIds(results.getObjectRefs()).toString()); assert sqs.has_validation_errors == false; assert results.getObjectRefIds().contains(testdata.getOrigDocId()); assert results.getObjectRefIds().contains(testdata.getRplcDocId()); assert results.getObjectRefs().size() == 3; assert results.getRegistryPackages().size() == 0; assert results.getAssociations().size() == 0; assert results.getExtrinsicObjects().size() == 0; } @Test public void basicLeafClassQuery() throws Exception { StoredQuerySupport sqs = new StoredQuerySupport(this , log); SqParams params = new SqParams(); sqs.params = params; sqs.return_leaf_class = true; params.addStringParm("$XDSDocumentEntryEntryUUID", testdata.getOrigDocId()); params.addListParm("$AssociationTypes", MetadataSupport.xdsB_ihe_assoc_namespace_uri + ":RPLC"); // implementation specific factory Ebxmlrr21StoredQueryFactory eFact = new Ebxmlrr21StoredQueryFactory(params, new RegistryResponse(Response.version_2),log); Metadata results = eFact.GetRelatedDocuments(sqs); log.addOtherParam("results size", String.valueOf(results.getObjectRefs().size())); log.addOtherParam("Ids", results.getObjectIds(results.getObjectRefs()).toString()); assert sqs.has_validation_errors == false; assert results.getExtrinsicObjectIds().contains(testdata.getOrigDocId()); assert results.getExtrinsicObjectIds().contains(testdata.getRplcDocId()); assert results.getRegistryPackages().size() == 0; assert results.getAssociations().size() == 1; assert results.getExtrinsicObjects().size() == 2; } @Test public void noRelatedObjectRefQuery() throws Exception { StoredQuerySupport sqs = new StoredQuerySupport(this , log); SqParams params = new SqParams(); sqs.params = params; sqs.return_leaf_class = false; params.addStringParm("$XDSDocumentEntryEntryUUID", testdata2.getDocUuids().get(0)); params.addListParm("$AssociationTypes", MetadataSupport.xdsB_ihe_assoc_namespace_uri + ":RPLC"); // implementation specific factory Ebxmlrr21StoredQueryFactory eFact = new Ebxmlrr21StoredQueryFactory(params, new RegistryResponse(Response.version_2), log); Metadata results = eFact.GetRelatedDocuments(sqs); log.addOtherParam("results size", String.valueOf(results.getObjectRefs().size())); log.addOtherParam("Ids", results.getObjectIds(results.getObjectRefs()).toString()); assert sqs.has_validation_errors == false; assert results.getObjectRefs().size() == 0; assert results.getRegistryPackages().size() == 0; assert results.getAssociations().size() == 0; assert results.getExtrinsicObjects().size() == 0; } @Test public void noRelatedLeafClassQuery() throws Exception { StoredQuerySupport sqs = new StoredQuerySupport(this , log); SqParams params = new SqParams(); sqs.params = params; sqs.return_leaf_class = true; params.addStringParm("$XDSDocumentEntryEntryUUID", testdata2.getDocUuids().get(0)); params.addListParm("$AssociationTypes", MetadataSupport.xdsB_ihe_assoc_namespace_uri + ":RPLC"); // implementation specific factory Ebxmlrr21StoredQueryFactory eFact = new Ebxmlrr21StoredQueryFactory(params, new RegistryResponse(Response.version_2),log); Metadata results = eFact.GetRelatedDocuments(sqs); log.addOtherParam("results size", String.valueOf(results.getObjectRefs().size())); log.addOtherParam("Ids", results.getObjectIds(results.getObjectRefs()).toString()); assert sqs.has_validation_errors == false; assert results.getRegistryPackages().size() == 0; assert results.getAssociations().size() == 0; assert results.getExtrinsicObjects().size() == 0; } }