Added Junits for Policy PAP-REST
[policy/engine.git] / ONAP-PAP-REST / src / test / java / org / onap / policy / pap / xacml / restAuth / PAPAuthenticationFilterTest.java
index a115c08..2d72c8a 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 {
+       
+       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();
@@ -51,4 +79,43 @@ public class PAPAuthenticationFilterTest {
                        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);
+               }
+       }
 }