]> git.aero2k.de Git - tmp/jakarta-migration.git/blob
1d0db320a2effc76ae4713ecec1d80908c01dff0
[tmp/jakarta-migration.git] /
1 package org.collectionspace.services.common.xmljson.test;
2
3 import java.util.Arrays;
4 import java.util.Collections;
5
6 import javax.servlet.http.HttpServletRequest;
7
8 import static org.collectionspace.services.common.xmljson.RequestUtils.*;
9 import static org.testng.Assert.*;
10
11 import org.easymock.EasyMock;
12 import org.testng.annotations.Test;
13
14 public class RequestUtilsTest {
15
16     @Test
17     public void testIsJsonPreferred() {
18         assertEquals(
19                 isJsonPreferred("application/json"),
20                 true);
21         assertEquals(
22                 isJsonPreferred("application/xml"),
23                 false);
24         assertEquals(
25                 isJsonPreferred("*/*"),
26                 false);
27         assertEquals(
28                 isJsonPreferred(""),
29                 false);
30         assertEquals(
31                 isJsonPreferred((String) null),
32                 false);
33         assertEquals(
34                 isJsonPreferred("application/json,application/xml;q=0.9"),
35                 true);
36         assertEquals(
37                 isJsonPreferred("application/json;q=0.8,application/xml;q=0.9"),
38                 false);
39         assertEquals(
40                 isJsonPreferred("application/json;q=0.8,application/xml;q=0.7"),
41                 true);
42     }
43
44     @Test
45     public void testGetXmlEnsuredAccept() {
46         assertEquals(
47                 getXmlEnsuredAccept("application/json"),
48                 "application/json,application/xml;q=0.001");
49         assertEquals(
50                 getXmlEnsuredAccept("application/xml"),
51                 "application/xml");
52         assertEquals(
53                 getXmlEnsuredAccept("application/json,application/xml;q=0.9"),
54                 "application/json,application/xml;q=0.9");
55         assertEquals(
56                 getXmlEnsuredAccept("application/json;q=0.8,application/xml;q=0.9"),
57                 "application/json;q=0.8,application/xml;q=0.9");
58         assertEquals(
59                 getXmlEnsuredAccept("application/json;q=0.8,application/xml;q=0.7"),
60                 "application/json;q=0.8,application/xml;q=0.7");
61         assertEquals(
62                 getXmlEnsuredAccept("application/xml;q=0.7,application/json;q=0.8"),
63                 "application/xml;q=0.7,application/json;q=0.8");
64     }
65
66     @Test
67     public void testGetAccept() {
68         assertEquals(
69                 getAccept(requestAccepting("application/json")),
70                 "application/json");
71         assertEquals(
72                 getAccept(requestAccepting("application/xml")),
73                 "application/xml");
74         assertEquals(
75                 getAccept(requestAccepting("application/json,application/xml")),
76                 "application/json,application/xml");
77         assertEquals(
78                 getAccept(requestAccepting("application/json", "application/xml")),
79                 "application/json,application/xml");
80         assertEquals(
81                 getAccept(requestAccepting("*/*", "application/xml;q=0.9", "application/json;q=0.4")),
82                 "*/*,application/xml;q=0.9,application/json;q=0.4");
83     }
84
85     private HttpServletRequest requestAccepting(String... accepts) {
86         HttpServletRequest request = EasyMock.createMock(HttpServletRequest.class);
87         
88         EasyMock.expect(request.getHeaders("Accept"))
89             .andReturn(Collections.enumeration(Arrays.asList(accepts)));
90         
91         EasyMock.replay(request);
92         
93         return request;
94     }
95 }