]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
05bc199b5922e6fee0ab093396893d0eae1a64d0
[tmp/jakarta-migration.git] /
1 package org.collectionspace.hello.client.test;
2
3 import org.collectionspace.hello.client.*;
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.Identifier;
10 import org.jboss.resteasy.client.ClientResponse;
11 import org.testng.Assert;
12 import org.testng.annotations.Test;
13
14 /**
15  * A IdentifierServiceTest.
16  * 
17  * @version $Revision:$
18  */
19 public class IdentifierServiceTest {
20
21     private IdentifierClient identifierClient = IdentifierClient.getInstance();
22     private Long id = 0L;
23
24     @Test
25     public void createIdentifier() {
26         Identifier identifier = new Identifier();
27         identifier.setNamespace("org.bnhm");
28         ClientResponse<Response> res = identifierClient.createIdentifier(identifier);
29         Assert.assertEquals(res.getStatus(), Response.Status.CREATED.getStatusCode());
30         id = extractId(res);
31     }
32
33     @Test(dependsOnMethods = {"createIdentifier"})
34     public void getIdentifier() {
35         Identifier i = identifierClient.getIdentifier(id).getEntity();
36         verbose("got Identifier", i);
37     }
38
39     private Long 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 Long.valueOf(segments[segments.length - 1]);
45     }
46
47     private void verbose(String msg) {
48         System.out.println("IdentifierServiceTest : " + msg);
49     }
50
51     private void verbose(String msg, Identifier p) {
52         try {
53             verbose(msg);
54             JAXBContext jc = JAXBContext.newInstance(Identifier.class);
55             Marshaller m = jc.createMarshaller();
56             m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,
57                     Boolean.TRUE);
58             m.marshal(p, System.out);
59         //m.marshal(new JAXBElement(new QName("uri", "local"), Identifier.class, p), System.out);
60         } catch (Exception e) {
61             e.printStackTrace();
62         }
63     }
64 }