Modify ONAP PAP REST classes basic checkstyle
[policy/engine.git] / ONAP-PAP-REST / src / test / java / org / onap / policy / pap / xacml / restAuth / PAPAuthenticationFilterTest.java
index a115c08..f1554e8 100644 (file)
  * limitations under the License.
  * ============LICENSE_END=========================================================
  */
-//foo
 package org.onap.policy.pap.xacml.restAuth;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
+
 import java.io.IOException;
+
 import javax.servlet.FilterChain;
 import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.junit.After;
+import org.junit.Before;
 import org.junit.Test;
+import org.mockito.Mockito;
+
 import com.mockrunner.mock.web.MockHttpServletRequest;
 import com.mockrunner.mock.web.MockHttpServletResponse;
 
 public class PAPAuthenticationFilterTest {
-       @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);
+        }
+    }
 }