package dk.statsbiblioteket.medieplatform.autonomous.iterator.fedora3; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.filter.HTTPBasicAuthFilter; import dk.statsbiblioteket.medieplatform.autonomous.ConfigConstants; import dk.statsbiblioteket.medieplatform.autonomous.iterator.common.AttributeParsingEvent; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; import java.io.File; import java.io.FileReader; import java.net.URLEncoder; import java.util.Properties; import static org.testng.Assert.assertEquals; public class JerseyContentsAttributeParsingEventTest { private static final String PID = "contentTest:1"; private WebResource objectResource; @BeforeMethod(groups = {"externalTest"}) public void setUp() throws Exception { Properties properties = new Properties(); properties.load(new FileReader(new File(System.getProperty("integration.test.newspaper.properties")))); System.out.println(properties.getProperty(ConfigConstants.DOMS_USERNAME)); Client client = Client.create(); client.addFilter( new HTTPBasicAuthFilter( properties.getProperty(ConfigConstants.DOMS_USERNAME), properties.getProperty(ConfigConstants.DOMS_PASSWORD))); WebResource resource = client.resource(properties.getProperty(ConfigConstants.DOMS_URL)); objectResource = resource.path("/objects/").path(PID); try { objectResource.delete(); } catch (Exception e) { try { objectResource.queryParam("state", "I").put(); objectResource.delete(); } catch (Exception e2) { //ignore } } objectResource.queryParam("state", "I").post(); objectResource.queryParam("state", "I").put(); } @AfterMethod(groups = {"externalTest"}) public void tearDown() throws Exception { objectResource.delete(); } @Test(groups = {"externalTest"}) public void testGetChecksum() throws Exception { objectResource.path("/datastreams/") .path(JerseyContentsAttributeParsingEvent.CONTENTS) .queryParam("dsLocation", "http://statsbiblioteket.dk") .queryParam( "controlGroup", "R") .post(); objectResource.path("/relationships/new") .queryParam( "subject", "info:fedora/" + "contentTest:1" + "/" + JerseyContentsAttributeParsingEvent.CONTENTS) .queryParam( "predicate", URLEncoder.encode(JerseyContentsAttributeParsingEvent.HAS_CHECKSUM, "UTF-8")) .queryParam("object", "checksum") .queryParam("isLiteral", "true") .post(); AttributeParsingEvent attribute = new JerseyContentsAttributeParsingEvent( "testContentName", objectResource, PID); assertEquals(attribute.getChecksum(), "checksum"); } }