From c72d565bb58226b20625b2bce5f0019046bee649 Mon Sep 17 00:00:00 2001 From: "Sonsino, Ofir (os0695)" Date: Tue, 10 Jul 2018 14:20:54 +0300 Subject: Merge 1806 code of vid-common Change-Id: I75d52abed4a24dfe3827d79edc4a2938726aa87a Issue-ID: VID-208 Signed-off-by: Sonsino, Ofir (os0695) --- .../controller/ClientCredentialsFilterTest.java | 92 ++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java (limited to 'vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java') diff --git a/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java b/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java new file mode 100644 index 00000000..61f18f54 --- /dev/null +++ b/vid-app-common/src/test/java/org/onap/vid/controller/ClientCredentialsFilterTest.java @@ -0,0 +1,92 @@ +package org.onap.vid.controller; + + +import org.junit.Assert; +import org.mockito.Mockito; +import org.onap.vid.controller.filter.ClientCredentialsFilter; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import javax.servlet.FilterChain; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; + +import static org.mockito.Matchers.any; + + +/** + * Created by amichai on 16/05/2018. + */ +@Test +public class ClientCredentialsFilterTest { + + @DataProvider + public static Object[][] authorizedData() { + return new Object[][] { + {"Basic 123==", null}, + {null, null}, + {null, ""}, + {"Basic 123==", ""}, + {"Basic 123==", "Basic 123=="} + }; + } + + @DataProvider + public static Object[][] notAuthorizedData() { + return new Object[][] { + {null, "Basic 123=="}, + {"", "Basic 123=="}, + {"not null but not as expected", "Basic 123=="}, + {"basic 123==", "Basic 123=="} + }; + } + + @DataProvider + public static Object[][] clientVerified() { + return new Object[][] { + {true}, + {false} + }; + } + + @Test(dataProvider = "authorizedData") + public void givenAuthorizationHeader_Authorized(String actualAuth, String expectedAuth){ + ClientCredentialsFilter filter = new ClientCredentialsFilter(); + Assert.assertTrue(filter.verifyClientCredentials(actualAuth, expectedAuth)); + } + + @Test(dataProvider = "notAuthorizedData") + public void givenAuthorizationHeader_NotAuthorized(String actualAuth, String expectedAuth){ + ClientCredentialsFilter filter = new ClientCredentialsFilter(); + Assert.assertFalse(filter.verifyClientCredentials(actualAuth, expectedAuth)); + } + + //@Test(dataProvider = "clientVerified") + public void notAuthorized_return401(Boolean clientVerified) throws IOException, ServletException { + ClientCredentialsFilter filter = Mockito.mock(ClientCredentialsFilter.class); + HttpServletResponse response = Mockito.mock(HttpServletResponse.class); + HttpServletRequest request = Mockito.mock(HttpServletRequest.class); + FilterChain chain = Mockito.mock(FilterChain.class); + + + Mockito.when(filter.verifyClientCredentials(any(String.class),any(String.class))).thenReturn(clientVerified); + Mockito.doNothing().when(response).sendError(401); + + Mockito.doCallRealMethod().when(filter).doFilter(request,response,chain); + filter.doFilter(request,response,chain); + + if (clientVerified) + { + Mockito.verify(chain).doFilter(request,response); + + } + else { + Mockito.verify(response).sendError(401); + } + + } + + +} -- cgit 1.2.3-korg