1 package org.collectionspace.hello.client.test;
3 import org.collectionspace.hello.client.DomainIdentifierClient;
4 import java.util.ArrayList;
5 import javax.ws.rs.core.MultivaluedMap;
6 import javax.ws.rs.core.Response;
7 import javax.xml.bind.JAXBContext;
8 import javax.xml.bind.Marshaller;
9 import org.collectionspace.hello.DomainIdentifier;
10 import org.jboss.resteasy.client.ClientResponse;
11 import org.testng.Assert;
12 import org.testng.annotations.Test;
15 * A DomainIdentifierServiceTest.
17 * @version $Revision:$
19 public class DomainIdentifierServiceTest {
21 private DomainIdentifierClient identifierClient = DomainIdentifierClient.getInstance();
22 private String id = null;
25 public void createIdentifier() {
26 DomainIdentifier identifier = new DomainIdentifier();
27 identifier.setDsid("org.bnhm");
28 ClientResponse<Response> res = identifierClient.createIdentifier(identifier);
29 Assert.assertEquals(res.getStatus(), Response.Status.CREATED.getStatusCode());
33 @Test(dependsOnMethods = {"createIdentifier"})
34 public void getIdentifier() {
35 DomainIdentifier i = identifierClient.getIdentifier(id).getEntity();
36 verbose("got DomainIdentifier", i);
39 private String extractId(ClientResponse<Response> res) {
40 MultivaluedMap mvm = res.getMetadata();
41 String uri = (String) ((ArrayList) mvm.get("Location")).get(0);
42 String[] segments = uri.split("/");
43 verbose("id=" + segments[segments.length - 1]);
44 return segments[segments.length - 1];
47 private void verbose(String msg) {
48 System.out.println("DomainIdentifierServiceTest : " + msg);
51 private void verbose(String msg, DomainIdentifier p) {
54 JAXBContext jc = JAXBContext.newInstance(DomainIdentifier.class);
55 Marshaller m = jc.createMarshaller();
56 m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
58 m.marshal(p, System.out);
59 //m.marshal(new JAXBElement(new QName("uri", "local"), DomainIdentifier.class, p), System.out);
60 } catch (Exception e) {