1 package org.collectionspace.services.common.xmljson.test;
3 import java.util.Arrays;
4 import java.util.Collections;
6 import javax.servlet.http.HttpServletRequest;
8 import static org.collectionspace.services.common.xmljson.RequestUtils.*;
9 import static org.testng.Assert.*;
11 import org.easymock.EasyMock;
12 import org.testng.annotations.Test;
14 public class RequestUtilsTest {
17 public void testIsJsonPreferred() {
19 isJsonPreferred("application/json"),
22 isJsonPreferred("application/xml"),
25 isJsonPreferred("*/*"),
31 isJsonPreferred((String) null),
34 isJsonPreferred("application/json,application/xml;q=0.9"),
37 isJsonPreferred("application/json;q=0.8,application/xml;q=0.9"),
40 isJsonPreferred("application/json;q=0.8,application/xml;q=0.7"),
45 public void testGetXmlEnsuredAccept() {
47 getXmlEnsuredAccept("application/json"),
48 "application/json,application/xml;q=0.001");
50 getXmlEnsuredAccept("application/xml"),
53 getXmlEnsuredAccept("application/json,application/xml;q=0.9"),
54 "application/json,application/xml;q=0.9");
56 getXmlEnsuredAccept("application/json;q=0.8,application/xml;q=0.9"),
57 "application/json;q=0.8,application/xml;q=0.9");
59 getXmlEnsuredAccept("application/json;q=0.8,application/xml;q=0.7"),
60 "application/json;q=0.8,application/xml;q=0.7");
62 getXmlEnsuredAccept("application/xml;q=0.7,application/json;q=0.8"),
63 "application/xml;q=0.7,application/json;q=0.8");
67 public void testGetAccept() {
69 getAccept(requestAccepting("application/json")),
72 getAccept(requestAccepting("application/xml")),
75 getAccept(requestAccepting("application/json,application/xml")),
76 "application/json,application/xml");
78 getAccept(requestAccepting("application/json", "application/xml")),
79 "application/json,application/xml");
81 getAccept(requestAccepting("*/*", "application/xml;q=0.9", "application/json;q=0.4")),
82 "*/*,application/xml;q=0.9,application/json;q=0.4");
85 private HttpServletRequest requestAccepting(String... accepts) {
86 HttpServletRequest request = EasyMock.createMock(HttpServletRequest.class);
88 EasyMock.expect(request.getHeaders("Accept"))
89 .andReturn(Collections.enumeration(Arrays.asList(accepts)));
91 EasyMock.replay(request);