package gov.samhsa.acs.trypolicy.wsclient;
import static org.junit.Assert.*;
import gov.samhsa.acs.trypolicy.wsclient.TryPolicyWebServiceClient;
import gov.samhsa.consent2share.commonunit.io.SpringBasedResourceFileReader;
import gov.samhsa.consent2share.commonunit.xml.XmlComparator;
import java.util.ArrayList;
import java.util.List;
import org.custommonkey.xmlunit.DetailedDiff;
import org.custommonkey.xmlunit.XMLUnit;
import org.junit.Test;
public class TryPolicyWebServiceClientIT {
@Test
public void testTryPolicy() throws Throwable {
String endpointAddress = "http://localhost:8080/Pep/services/policyTryingService";
TryPolicyWebServiceClient sut = new TryPolicyWebServiceClient(
endpointAddress);
String c32Xml = SpringBasedResourceFileReader.getStringFromResourceFile("c32.xml");
String xacmlPolicy = SpringBasedResourceFileReader
.getStringFromResourceFile("xacmlPolicyForTrying.xml");
String purposeOfUse = "TREAT";
String segmentedC32 = sut.tryPolicy(c32Xml, xacmlPolicy, purposeOfUse);
String expectedSegmentedC32 = SpringBasedResourceFileReader
.getStringFromResourceFile("segmentedC32.xml");
XMLUnit.setIgnoreWhitespace(true);
XMLUnit.setNormalizeWhitespace(true);
List<String> ignoredTags=new ArrayList<String>();
ignoredTags.add("effectiveTime");
ignoredTags.add("confidentialityCode");
DetailedDiff detailedDiff = XmlComparator.compareXMLs(expectedSegmentedC32, segmentedC32, ignoredTags);
assertTrue("test XML matches control skeleton XML",
detailedDiff.similar());
}
}