View Javadoc

1   package it.com.atlassian.rest.helloworld;
2   
3   import com.atlassian.rest.jersey.client.WebResourceFactory;
4   import static com.atlassian.rest.jersey.client.WebResourceFactory.LATEST;
5   import static com.atlassian.rest.jersey.client.WebResourceFactory.REST_VERSION;
6   import static com.atlassian.rest.jersey.client.WebResourceFactory.REST_VERSION_2;
7   
8   import com.sun.jersey.api.client.UniformInterfaceException;
9   import static org.junit.Assert.assertEquals;
10  import org.junit.Test;
11  
12  import static javax.ws.rs.core.Response.Status.UNAUTHORIZED;
13  
14  public class HelloWorldTest
15  {
16      @Test
17      public void testGetAnonymousHelloWorldWhenNotAuthenticated()
18      {
19          assertGetAnonymousHelloWorldWhenNotAuthenticated(REST_VERSION, "Hello Anonymous World");
20          assertGetAnonymousHelloWorldWhenNotAuthenticated(REST_VERSION_2, "Goodbye Anonymous World");
21          assertGetAnonymousHelloWorldWhenNotAuthenticated(LATEST, "Goodbye Anonymous World");
22      }
23  
24      @Test
25      public void testGetAnonymousHelloWorldFromSelf()
26      {
27           assertEquals("Hello Anonymous World", WebResourceFactory.anonymous(REST_VERSION).path("helloworld").path("callingself").get(String.class));
28      }
29  
30      private void assertGetAnonymousHelloWorldWhenNotAuthenticated(final String version, final String expected)
31      {
32          assertEquals(expected, WebResourceFactory.anonymous(version).path("helloworld").path("anonymous").get(String.class));
33      }
34  
35      @Test
36      public void testGetAnonymousHelloWorldWhenAuthenticated()
37      {
38          assertGetAnonymousHelloWorldWhenAuthenticated(REST_VERSION, "Hello Anonymous World");
39          assertGetAnonymousHelloWorldWhenAuthenticated(REST_VERSION_2, "Goodbye Anonymous World");
40          assertGetAnonymousHelloWorldWhenAuthenticated(LATEST, "Goodbye Anonymous World");
41      }
42  
43      private void assertGetAnonymousHelloWorldWhenAuthenticated(final String version, final String expected)
44      {
45          assertEquals(expected, WebResourceFactory.authenticated(version).path("helloworld").path("anonymous").get(String.class));
46      }
47  
48      @Test
49      public void testGetAuthenticatedHelloWorldWhenAuthenticated()
50      {
51          assertGetAuthenticatedHelloWorldWhenAuthenticated(REST_VERSION, "Hello Authenticated World");
52          assertGetAuthenticatedHelloWorldWhenAuthenticated(REST_VERSION_2, "Goodbye Authenticated World");
53          assertGetAuthenticatedHelloWorldWhenAuthenticated(LATEST, "Goodbye Authenticated World");
54      }
55  
56      private void assertGetAuthenticatedHelloWorldWhenAuthenticated(final String restVersion, final String expected)
57      {
58          assertEquals(expected, WebResourceFactory.authenticated(restVersion).path("helloworld").path("authenticated").get(String.class));
59      }
60  
61      @Test
62      public void testGetAuthenticatedHelloWorldWhenNotAuthenticated()
63      {
64          assertGetAuthenticatedHelloWorldWhenNotAuthenticated(REST_VERSION);
65          assertGetAuthenticatedHelloWorldWhenNotAuthenticated(REST_VERSION_2);
66          assertGetAuthenticatedHelloWorldWhenNotAuthenticated(LATEST);
67      }
68  
69      private void assertGetAuthenticatedHelloWorldWhenNotAuthenticated(final String version)
70      {
71          try
72          {
73              WebResourceFactory.anonymous(version).path("helloworld").path("authenticated").get(String.class);
74          }
75          catch (UniformInterfaceException e)
76          {
77              assertEquals(UNAUTHORIZED, e.getResponse().getResponseStatus());
78          }
79      }
80  
81      @Test
82      public void testGetAdminHelloWorldWhenAdmin()
83      {
84          assertGetAdminHelloWorldWhenAdmin(REST_VERSION, "Hello admin");
85          assertGetAdminHelloWorldWhenAdmin(REST_VERSION_2, "Goodbye admin");
86          assertGetAdminHelloWorldWhenAdmin(LATEST, "Goodbye admin");
87      }
88  
89      private void assertGetAdminHelloWorldWhenAdmin(final String restVersion, final String expected)
90      {
91          assertEquals(expected, WebResourceFactory.authenticated(restVersion).path("helloworld").path("admin").get(String.class));
92      }
93  
94      @Test
95      public void testGetAdminHelloWorldWhenNotFred()
96      {
97          assertGetAdminHelloWorldWhenNotFred(REST_VERSION);
98          assertGetAdminHelloWorldWhenNotFred(REST_VERSION_2);
99          assertGetAdminHelloWorldWhenNotFred(LATEST);
100     }
101 
102     private void assertGetAdminHelloWorldWhenNotFred(final String version)
103     {
104         try
105         {
106             // fred is an existing user
107             WebResourceFactory.authenticate(WebResourceFactory.anonymous(version), "fred", "fred").path("helloworld").path("admin").get(String.class);
108         }
109         catch (UniformInterfaceException e)
110         {
111             assertEquals(UNAUTHORIZED, e.getResponse().getResponseStatus());
112         }
113     }
114 
115     @Test
116     public void testGetAdminHelloWorldWhenNotAuthenticated()
117     {
118         assertGetAdminHelloWorldWhenNotAuthenticated(REST_VERSION);
119         assertGetAdminHelloWorldWhenNotAuthenticated(REST_VERSION_2);
120         assertGetAdminHelloWorldWhenNotAuthenticated(LATEST);
121     }
122 
123     private void assertGetAdminHelloWorldWhenNotAuthenticated(final String version)
124     {
125         try
126         {
127             WebResourceFactory.authenticate(WebResourceFactory.anonymous(version), "bla", "bli").path("helloworld").path("admin").get(String.class);
128         }
129         catch (UniformInterfaceException e)
130         {
131             assertEquals(UNAUTHORIZED, e.getResponse().getResponseStatus());
132         }
133     }
134 }