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 --- .../widget/domain/MicroServiceDataTest.java | 80 +++++++++ .../service/impl/MicroserviceServiceImplTest.java | 134 +++++++++++++++ .../service/impl/StorageServiceImplTest.java | 183 +++++++++++++++++++++ 3 files changed, 397 insertions(+) create mode 100644 ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/domain/MicroServiceDataTest.java create mode 100644 ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/MicroserviceServiceImplTest.java create mode 100644 ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/StorageServiceImplTest.java (limited to 'ecomp-portal-widget-ms/widget-ms') diff --git a/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/domain/MicroServiceDataTest.java b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/domain/MicroServiceDataTest.java new file mode 100644 index 00000000..88c0e839 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/domain/MicroServiceDataTest.java @@ -0,0 +1,80 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 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.widget.domain; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; + +public class MicroServiceDataTest { + + private static final String TEST="test"; + + @Test + public void testMicorServiceData() { + + MicroserviceData microserviceData=buildData(); + assertEquals( new Long(1),microserviceData.getId()); + assertEquals( TEST,microserviceData.getName()); + assertEquals( TEST,microserviceData.getActive()); + assertEquals(TEST,microserviceData.getDesc()); + assertEquals(1l,microserviceData.getAppId()); + assertEquals(TEST,microserviceData.getUrl()); + assertEquals(TEST,microserviceData.getSecurityType()); + assertEquals(TEST,microserviceData.getUsername()); + assertEquals(TEST,microserviceData.getPassword()); + assertNotNull(microserviceData.toString()); + + } + + public MicroserviceData buildData() { + MicroserviceData microserviceData=new MicroserviceData(); + microserviceData.setId((long)1); + microserviceData.setName(TEST); + microserviceData.setActive(TEST); + microserviceData.setDesc(TEST); + microserviceData.setAppId((long)1); + microserviceData.setUrl(TEST); + microserviceData.setSecurityType(TEST); + microserviceData.setUsername(TEST); + microserviceData.setPassword(TEST); + + return microserviceData; + } +} diff --git a/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/MicroserviceServiceImplTest.java b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/MicroserviceServiceImplTest.java new file mode 100644 index 00000000..c61122d3 --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/MicroserviceServiceImplTest.java @@ -0,0 +1,134 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 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.widget.service.impl; + + +import static org.junit.Assert.assertEquals; +import static org.mockito.Mockito.when; + +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.hibernate.criterion.Restrictions; +import org.junit.Before; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.portalapp.widget.domain.MicroserviceData; +import org.onap.portalapp.widget.domain.MicroserviceParameter; + +public class MicroserviceServiceImplTest { + + private static final String TEST="test"; + @InjectMocks + MicroserviceServiceImpl microserviceServiceImpl; + + @Mock + Session session; + @Mock + SessionFactory sessionFactory; + @Mock + Transaction transaction; + @Mock + Criteria criteria; + + @Before + public void init() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testSaveMicroserivce() { + MicroserviceData microserviceData=buildData(); + when(sessionFactory.openSession()).thenReturn(session); + when(session.beginTransaction()).thenReturn(transaction); + Long data= microserviceServiceImpl.saveMicroserivce(microserviceData); + assertEquals(1l, data.longValue()); + + } + + @Test + public void testSaveMicroserivceException() { + MicroserviceData microserviceData=buildData(); + when(sessionFactory.openSession()).thenReturn(session); + + Long data= microserviceServiceImpl.saveMicroserivce(microserviceData); + assertEquals(1l, data.longValue()); + + } + + @Test + public void testSaveMicroserviceParameterException() { + when(sessionFactory.openSession()).thenReturn(session); + microserviceServiceImpl.saveMicroserviceParameter(new MicroserviceParameter()); + + } + + @Test(expected=NullPointerException.class) + public void testSaveMicroserviceParameter() { + when(sessionFactory.openSession()).thenReturn(session); + when(session.beginTransaction()).thenReturn(transaction); + microserviceServiceImpl.saveMicroserviceParameter(new MicroserviceParameter()); + + when(session.createCriteria(MicroserviceData.class)).thenReturn(criteria); + when(criteria.add(Restrictions.eq("name", TEST))).thenReturn(criteria); + when(criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)).thenReturn(criteria); + microserviceServiceImpl.getMicroserviceIdByName(TEST); + + } + + + + public MicroserviceData buildData() { + MicroserviceData microserviceData=new MicroserviceData(); + microserviceData.setId((long)1); + microserviceData.setName(TEST); + microserviceData.setActive(TEST); + microserviceData.setDesc(TEST); + microserviceData.setAppId((long)1); + microserviceData.setUrl(TEST); + microserviceData.setSecurityType(TEST); + microserviceData.setUsername(TEST); + microserviceData.setPassword(TEST); + + return microserviceData; + } + +} diff --git a/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/StorageServiceImplTest.java b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/StorageServiceImplTest.java new file mode 100644 index 00000000..336f857c --- /dev/null +++ b/ecomp-portal-widget-ms/widget-ms/src/test/java/org/onap/portalapp/widget/service/impl/StorageServiceImplTest.java @@ -0,0 +1,183 @@ +/*- + * ============LICENSE_START========================================== + * ONAP Portal + * =================================================================== + * Copyright (C) 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.widget.service.impl; + +import static org.mockito.Mockito.when; + +import java.util.ArrayList; +import java.util.List; + +import org.hibernate.Criteria; +import org.hibernate.Session; +import org.hibernate.SessionFactory; +import org.hibernate.Transaction; +import org.junit.Before; +import org.junit.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.portalapp.widget.domain.WidgetCatalog; +import org.onap.portalapp.widget.domain.WidgetFile; +import org.onap.portalapp.widget.excetpion.StorageException; +import org.onap.portalapp.widget.service.WidgetCatalogService; +import org.springframework.mock.web.MockMultipartFile; +import org.springframework.web.multipart.MultipartFile; + +public class StorageServiceImplTest { + + @InjectMocks + StorageServiceImpl storageServiceImpl; + + + @Mock + WidgetCatalogService widgetCatalogService; + + @Mock + Session session; + @Mock + SessionFactory sessionFactory; + + @Mock + Session currentSession; + @Mock + Transaction transaction; + @Mock + Criteria criteria; + + @Mock + Criteria widgetCriteria; + @Mock + MultipartFile file; + + + @Before + public void init() { + MockitoAnnotations.initMocks(this); + } + + @Test + public void testDeleteWidgetFile() { + List widgetFiles=new ArrayList<>(); + WidgetFile file=new WidgetFile(); + widgetFiles.add(file); + when(sessionFactory.openSession()).thenReturn(session); + when(session.createCriteria(WidgetFile.class)).thenReturn(criteria); + when(criteria.list()).thenReturn(widgetFiles); + when(sessionFactory.getCurrentSession()).thenReturn(currentSession); + when(currentSession.beginTransaction()).thenReturn(transaction); + storageServiceImpl.deleteWidgetFile(2l); + } + + @Test + public void testGetWidgetFile() { + List widgetFiles=new ArrayList<>(); + WidgetFile file=new WidgetFile(); + widgetFiles.add(file); + when(sessionFactory.openSession()).thenReturn(session); + when(session.createCriteria(WidgetFile.class)).thenReturn(criteria); + when(criteria.list()).thenReturn(widgetFiles); + storageServiceImpl.getWidgetFile(2l); + + } + + @Test +public void testcheckZipFileInvalid() { + MockMultipartFile mockMultipartFile = new MockMultipartFile( + "fileData", + "test.zip", + "text/plain", + "test".getBytes()); + + storageServiceImpl.checkZipFile(mockMultipartFile); + } + + @Test(expected=StorageException.class) + public void testcheckZipEmptyFile() { + when(file.getOriginalFilename()).thenReturn("test.zip"); + when(file.isEmpty()).thenReturn(true); + storageServiceImpl.checkZipFile(file); + + } + + @Test(expected=NullPointerException.class) + public void testUpdate() { + + MockMultipartFile mockMultipartFile = new MockMultipartFile( + "fileData", + "test.zip", + "text/plain", + "test".getBytes()); + WidgetCatalog catalog=new WidgetCatalog(); + catalog.setServiceId(2l); + List widgetFiles=new ArrayList<>(); + WidgetFile file=new WidgetFile(); + widgetFiles.add(file); + when(sessionFactory.openSession()).thenReturn(session); + when(session.createCriteria(WidgetFile.class)).thenReturn(criteria); + when(criteria.list()).thenReturn(widgetFiles); + storageServiceImpl.update(mockMultipartFile, catalog, 2l); + + + + } + + @Test + public void testGetWidgetCatalogContent()throws Exception { + WidgetCatalog catalog=new WidgetCatalog(); + catalog.setServiceId(2l); + catalog.setName("test"); + List widgetFiles=new ArrayList<>(); + WidgetFile file=new WidgetFile(); + file.setCss("test".getBytes()); + file.setController("test function() Test".getBytes()); + file.setMarkup("Test".getBytes()); + widgetFiles.add(file); + + when(sessionFactory.getCurrentSession()).thenReturn(currentSession); + when(currentSession.beginTransaction()).thenReturn(transaction); + when(currentSession.createCriteria(WidgetFile.class)).thenReturn(criteria,criteria,criteria); + when(criteria.list()).thenReturn(widgetFiles); + // when(currentSession.createCriteria(WidgetFile.class)).thenReturn(criteria); + // when(criteria.list()).thenReturn(widgetFiles); + when(widgetCatalogService.getWidgetCatalog(2l)).thenReturn(catalog); + storageServiceImpl.getWidgetCatalogContent(2l); + + } + + +} -- cgit 1.2.3-korg