From 6f03ccd5a4ad90296f4dc3567531848fce1d8ad5 Mon Sep 17 00:00:00 2001 From: Hima Elisetty Date: Wed, 27 Jun 2018 12:20:59 -0400 Subject: JUnits for coverage Issue-ID: PORTAL-273 JUnits for sonar coverage Change-Id: Ibfa06dcbc7809d9d2598af4ba31dd8c88943aa20 Signed-off-by: Hima Elisetty --- .../controller/PeerBroadcastSocketTest.java | 83 ++++++++++++++++ ...ExternalAppsRestfulVersionControllerOSTest.java | 98 ++++++++++++++++++ .../portalapp/util/SecurityXssValidatorTest.java | 110 +++++++++++++++++++++ 3 files changed, 291 insertions(+) create mode 100644 ecomp-portal-BE-os/src/test/java/org/onap/portalapp/controller/PeerBroadcastSocketTest.java create mode 100644 ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/ExternalAppsRestfulVersionControllerOSTest.java create mode 100644 ecomp-portal-BE-os/src/test/java/org/onap/portalapp/util/SecurityXssValidatorTest.java (limited to 'ecomp-portal-BE-os/src') diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/controller/PeerBroadcastSocketTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/controller/PeerBroadcastSocketTest.java new file mode 100644 index 00000000..b1ec3d4e --- /dev/null +++ b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/controller/PeerBroadcastSocketTest.java @@ -0,0 +1,83 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright © 2018 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalapp.controller; + +import javax.websocket.RemoteEndpoint.Basic; +import javax.websocket.Session; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mockito; +import org.powermock.modules.junit4.PowerMockRunner; + +@RunWith(PowerMockRunner.class) +public class PeerBroadcastSocketTest { + + @InjectMocks + private PeerBroadcastSocket peerBroadcastSocket; + + @Test + public void messageTest() { + String message = "{\"from\": \"to\", \"to\": \"to\"}"; + Session session = Mockito.mock(Session.class); + Basic basic = Mockito.mock(Basic.class); + Mockito.when(session.getBasicRemote()).thenReturn(basic); + Mockito.when(session.getId()).thenReturn("123"); + peerBroadcastSocket.message(message, session); + peerBroadcastSocket.close(session); + Assert.assertTrue(true); + } + + @Test + public void messageExceptionTest() { + String message = "{\"from\": \"to\", \"to\": \"to\"}"; + Session session = Mockito.mock(Session.class); + peerBroadcastSocket.message(message, session); + Assert.assertTrue(true); + } + + @Test + public void openTest() { + Session session = Mockito.mock(Session.class); + peerBroadcastSocket.open(session); + Assert.assertTrue(true); + } +} + diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/ExternalAppsRestfulVersionControllerOSTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/ExternalAppsRestfulVersionControllerOSTest.java new file mode 100644 index 00000000..6c772fec --- /dev/null +++ b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/portal/controller/ExternalAppsRestfulVersionControllerOSTest.java @@ -0,0 +1,98 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + */ +package org.onap.portalapp.portal.controller; + +import static org.junit.Assert.assertNull; + +import java.util.List; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.onap.portalapp.portal.core.MockEPUser; +import org.onap.portalapp.portal.domain.EPUser; +import org.onap.portalapp.portal.framework.MockitoTestSuite; +import org.onap.portalapp.portal.transport.EpNotificationItem; +import org.onap.portalapp.portal.transport.FavoritesFunctionalMenuItemJson; +import org.onap.portalapp.portal.utils.EPSystemProperties; +import org.slf4j.MDC; + +public class ExternalAppsRestfulVersionControllerOSTest { + + @InjectMocks + ExternalAppsRestfulVersionController externalAppsRestfulVersionController= new ExternalAppsRestfulVersionController(); + + @Before + public void setup() { + MockitoAnnotations.initMocks(this); + } + + @Mock + ExternalAppsRestfulController externalAppsRestfulController; + + MockEPUser mockUser = new MockEPUser(); + MockitoTestSuite mockitoTestSuite = new MockitoTestSuite(); + + HttpServletRequest mockedRequest = mockitoTestSuite.getMockedRequest(); + HttpServletResponse mockedResponse = mockitoTestSuite.getMockedResponse(); + NullPointerException nullPointerException = new NullPointerException(); + + @Test + public void getFavoritesForUserTest() throws Exception { + + EPUser user = mockUser.mockEPUser(); + //Mockito.when(mockedRequest.getHeader(EPSystemProperties.MDC_LOGIN_ID)).thenReturn("LoginId"); + //Mockito.when(MDC.get(EPSystemProperties.PARTNER_NAME)).thenReturn("Test"); + + List favorites = null; + Mockito.when(externalAppsRestfulController.getFavoritesForUser(mockedRequest, mockedResponse)) + .thenReturn(null); + assertNull(externalAppsRestfulVersionController.getFavoritesForUser(mockedRequest, mockedResponse)); + } + @Test + public void getFunctionalMenuItemsForUserTest() throws Exception { + Mockito.when(externalAppsRestfulController.getFunctionalMenuItemsForUser(mockedRequest, mockedResponse)) + .thenReturn(null); + assertNull(externalAppsRestfulVersionController.getFunctionalMenuItemsForUser(mockedRequest, mockedResponse)); + } +} diff --git a/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/util/SecurityXssValidatorTest.java b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/util/SecurityXssValidatorTest.java new file mode 100644 index 00000000..47f25091 --- /dev/null +++ b/ecomp-portal-BE-os/src/test/java/org/onap/portalapp/util/SecurityXssValidatorTest.java @@ -0,0 +1,110 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * =================================================================== + * + * Unless otherwise specified, all software contained herein is licensed + * under the Apache License, Version 2.0 (the "License"); + * you may not use this software except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Unless otherwise specified, all documentation contained herein is licensed + * under the Creative Commons License, Attribution 4.0 Intl. (the "License"); + * you may not use this documentation except in compliance with the License. + * You may obtain a copy of the License at + * + * https://creativecommons.org/licenses/by/4.0/ + * + * Unless required by applicable law or agreed to in writing, documentation + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * ============LICENSE_END============================================ + * + * + */ +package org.onap.portalapp.util; + +import org.apache.commons.lang.StringUtils; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.onap.portalsdk.core.util.SystemProperties; +import org.owasp.esapi.ESAPI; +import org.owasp.esapi.Encoder; +import org.owasp.esapi.codecs.Codec; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({ESAPI.class, SystemProperties.class}) +public class SecurityXssValidatorTest { + + @Test + public void stripXSSTest() { + String value ="Test"; + PowerMockito.mockStatic(ESAPI.class); + Encoder mockEncoder = Mockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(mockEncoder); + Mockito.when(mockEncoder.canonicalize(value)).thenReturn(value); + SecurityXssValidator validator = SecurityXssValidator.getInstance(); + String reponse = validator.stripXSS(value); + Assert.assertEquals(value, reponse);; + } + + @Test + public void stripXSSExceptionTest() { + String value ="Test"; + SecurityXssValidator validator = SecurityXssValidator.getInstance(); + String reponse = validator.stripXSS(value); + Assert.assertEquals(value, reponse);; + } + + @Test + public void denyXSSTest() { + String value =""; + PowerMockito.mockStatic(ESAPI.class); + Encoder mockEncoder = Mockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(mockEncoder); + Mockito.when(mockEncoder.canonicalize(value)).thenReturn(value); + SecurityXssValidator validator = SecurityXssValidator.getInstance(); + Boolean flag = validator.denyXSS(value); + Assert.assertTrue(flag); + } + + @Test + public void denyXSSFalseTest() { + String value ="test"; + PowerMockito.mockStatic(ESAPI.class); + Encoder mockEncoder = Mockito.mock(Encoder.class); + Mockito.when(ESAPI.encoder()).thenReturn(mockEncoder); + Mockito.when(mockEncoder.canonicalize(value)).thenReturn(value); + SecurityXssValidator validator = SecurityXssValidator.getInstance(); + Boolean flag = validator.denyXSS(value); + Assert.assertFalse(flag); + } + + @Test + public void getCodecMySqlTest() { + PowerMockito.mockStatic(SystemProperties.class); + Mockito.when(SystemProperties.getProperty(SystemProperties.DB_DRIVER)).thenReturn("mysql"); + SecurityXssValidator validator = SecurityXssValidator.getInstance(); + Codec codec = validator.getCodec(); + Assert.assertNotNull(codec); + } + +} -- cgit 1.2.3-korg