- @Test
- public void testAuth() throws IOException, ServletException {
- PAPAuthenticationFilter filter = new PAPAuthenticationFilter();
- MockHttpServletRequest request = new MockHttpServletRequest();
- request.setRequestURI("/foo");
- MockHttpServletResponse response = new MockHttpServletResponse();
- FilterChain filterChain = null;
-
- // Negative test the filter
- filter.doFilter(request, response, filterChain);
- assertEquals(response.getStatusCode(), 401);
-
- // Test base methods
- try {
- filter.destroy();
- filter.init(null);
- }
- catch (Exception ex) {
- fail("Not expecting any exceptions.");
- }
- }
+
+ private HttpServletRequest request = null;
+ private HttpServletResponse response = null;
+ private String oldProperty;
+ private String systemKey = "xacml.properties";
+ private FilterChain filter;
+ private PAPAuthenticationFilter papFilter;
+
+ @Before
+ public void setUp(){
+ // Set the system property temporarily
+ oldProperty = System.getProperty(systemKey);
+ System.setProperty(systemKey, "xacml.pap.properties");
+
+ request = Mockito.mock(HttpServletRequest.class);
+ response = Mockito.mock(HttpServletResponse.class);
+ filter = Mockito.mock(FilterChain.class);
+ papFilter = new PAPAuthenticationFilter();
+ }
+
+ @Test
+ public void testAuth() throws IOException, ServletException {
+ PAPAuthenticationFilter filter = new PAPAuthenticationFilter();
+ MockHttpServletRequest request = new MockHttpServletRequest();
+ request.setRequestURI("/foo");
+ MockHttpServletResponse response = new MockHttpServletResponse();
+ FilterChain filterChain = null;
+
+ // Negative test the filter
+ filter.doFilter(request, response, filterChain);
+ assertEquals(response.getStatusCode(), 401);
+
+ // Test base methods
+ try {
+ filter.destroy();
+ filter.init(null);
+ }
+ catch (Exception ex) {
+ fail("Not expecting any exceptions.");
+ }
+ }
+
+ @Test
+ public void testDoFilter() {
+ Mockito.when(request.getRequestURI()).thenReturn("/pap/");
+ Mockito.when(request.getHeader("Authorization")).thenReturn("Basic dGVzdHBhcDphbHBoYTEyMw==");
+ callDoFilter();
+ Mockito.when(request.getRequestURI()).thenReturn("/pap/onap/");
+ callDoFilter();
+ }
+
+ public void callDoFilter(){
+ try {
+ papFilter.doFilter(request, response, filter);
+ } catch (Exception e) {
+ assertEquals(NullPointerException.class, e.getClass());
+ }
+ }
+
+ @Test
+ public void testOnPassingInvalidParamters(){
+ Mockito.when(request.getRequestURI()).thenReturn("/pap/");
+ Mockito.when(request.getHeader("Authorization")).thenReturn("Basic dGVzdHBhcDphbHBoYTE789==");
+ try {
+ papFilter.doFilter(request, response, filter);
+ assertEquals(0, response.getStatus());
+ } catch (Exception e) {
+ fail();
+ }
+ }
+
+ @After
+ public void reset(){
+ // Restore the original system property
+ if (oldProperty != null) {
+ System.setProperty(systemKey, oldProperty);
+ } else {
+ System.clearProperty(systemKey);
+ }
+ }