package gov.nist.registry.ws.sq.ebxmlrr21.test;
import java.util.List;
import gov.nist.registry.common2.registry.Metadata;
import gov.nist.registry.common2.registry.storedquery.StoredQuerySupport;
import gov.nist.registry.ws.sq.ebxmlrr21.EbXML21QuerySupport;
import gov.nist.registry.ws.sq.test.TestBase;
import gov.nist.registry.ws.sq.test.testdata.FindDocsTestData;
import org.testng.annotations.Test;
public class ConvertToLeafClass extends TestBase {
FindDocsTestData testdata;
public ConvertToLeafClass() throws Exception {
super();
testdata = new FindDocsTestData();
}
@Test
public void objectRefToObjectRef() throws Exception {
StoredQuerySupport sqs = new StoredQuerySupport(this , log);
EbXML21QuerySupport eqs = new EbXML21QuerySupport(sqs);
sqs.return_leaf_class = false;
Metadata m = new Metadata();
m.mkObjectRefs(testdata.getDocUuids());
assert m.getObjectRefs().size() == 2;
assert m.getLeafClassObjects().size() == 0;
Metadata m2 = eqs.convertToObjectRefs(m, false);
assert m2.getObjectRefs().size() == 2;
assert m2.getLeafClassObjects().size() == 0;
Metadata m3 = eqs.convertToObjectRefs(m, true);
assert m3.getObjectRefs().size() == 0;
assert m3.getLeafClassObjects().size() == 0;
}
@Test
public void objectRefToLeafClass() throws Exception {
StoredQuerySupport sqs = new StoredQuerySupport(this , log);
EbXML21QuerySupport eqs = new EbXML21QuerySupport(sqs);
sqs.return_leaf_class = true;
Metadata m = new Metadata();
m.mkObjectRefs(testdata.getDocUuids());
Metadata m2 = eqs.convertToLeafClass(m);
assert m.getObjectRefs().size() == 2;
assert m.getLeafClassObjects().size() == 0;
assert m2.getLeafClassObjects().size() == 2;
List<String> objectRefIds = m.getObjectRefIds();
for (String id : objectRefIds)
assert m2.containsObject(id);
}
@Test
public void leafClassToLeafClass() throws Exception {
StoredQuerySupport sqs = new StoredQuerySupport(this , log);
EbXML21QuerySupport eqs = new EbXML21QuerySupport(sqs);
sqs.return_leaf_class = true;
Metadata m = new Metadata();
m.mkObjectRefs(testdata.getDocUuids());
assert m.getObjectRefs().size() == 2;
assert m.getLeafClassObjects().size() == 0;
Metadata m2 = eqs.convertToLeafClass(m);
assert m2.getLeafClassObjects().size() == 2;
Metadata m3 = eqs.convertToLeafClass(m);
assert m3.getLeafClassObjects().size() == 2;
List<String> objectRefIds = m.getObjectRefIds();
for (String id : objectRefIds)
assert m3.containsObject(id);
}
@Test
public void leafClassToObjectRef() throws Exception {
StoredQuerySupport sqs = new StoredQuerySupport(this , log);
EbXML21QuerySupport eqs = new EbXML21QuerySupport(sqs);
sqs.return_leaf_class = true;
Metadata m = new Metadata();
m.mkObjectRefs(testdata.getDocUuids());
assert m.getObjectRefs().size() == 2;
assert m.getLeafClassObjects().size() == 0;
Metadata m2 = eqs.convertToLeafClass(m);
assert m2.getLeafClassObjects().size() == 2;
Metadata m3 = eqs.convertToObjectRefs(m2, true);
assert m3.getLeafClassObjects().size() == 0;
assert m3.getObjectRefs().size() == 2;
m2.clearObjectRefs();
Metadata m4 = eqs.convertToObjectRefs(m2, false);
assert m4.getLeafClassObjects().size() == 0;
assert m4.getObjectRefs().size() == 2;
}
}