From f51a3e2b128f0b96bc9ed67dfc3081f4b41d1303 Mon Sep 17 00:00:00 2001 From: "Kishore Reddy, Gujja (kg811t)" Date: Fri, 8 Jun 2018 16:40:16 -0400 Subject: Junit Test Cases & Raptors Issue-ID: PORTAL-273. PORTAL-301 Covered JUNITS for sdk modules and RAPTOR reports fixes Change-Id: Ifaf3bf06f0ec123051a791cc8e7f10662f97a525 Signed-off-by: Kishore Reddy, Gujja (kg811t) --- .../conf/MusicSessionRepositoryHandlerTest.java | 103 ++++++++ .../music/conf/MusicSessionRepositoryTest.java | 95 ++++++++ .../portalapp/music/conf/MusicSessionTest.java | 262 +++++++++++++++++++++ .../portalapp/music/model/RestResponseTest.java | 58 +++++ .../portalapp/music/service/MusicServiceTest.java | 248 +++++++++++++++++++ .../portalapp/music/util/MusicPropertiesTest.java | 53 +++++ .../onap/portalapp/music/util/MusicUtilTest.java | 145 ++++++++++++ 7 files changed, 964 insertions(+) create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryHandlerTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/model/RestResponseTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/service/MusicServiceTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicPropertiesTest.java create mode 100644 ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicUtilTest.java (limited to 'ecomp-sdk/epsdk-music/src/test/java/org') diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryHandlerTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryHandlerTest.java new file mode 100644 index 00000000..b5a28af8 --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryHandlerTest.java @@ -0,0 +1,103 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.conf; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Matchers; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.onap.music.datastore.PreparedQueryObject; +import org.onap.music.main.MusicCore; +import org.onap.portalapp.music.service.MusicService; +import org.onap.portalapp.music.util.MusicUtil; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.session.Session; + +import com.datastax.driver.core.ResultSet; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({MusicUtil.class, MusicCore.class}) +public class MusicSessionRepositoryHandlerTest { + + @Mock + private MusicService musicService; + + @Mock + ResultSet resultSet; + + @Before + public void setUp() { + PowerMockito.mockStatic(MusicUtil.class); + PowerMockito.mockStatic(MusicCore.class); + Mockito.when(MusicUtil.isCached()).thenReturn(true); + MockitoAnnotations.initMocks(this); + } + + @InjectMocks + MusicSessionRepositoryHandler musicSessionRepositoryHandler = new MusicSessionRepositoryHandler(); + + MusicSession ms = new MusicSession(); + + + @SuppressWarnings("static-access") + @Test + public void getTest() throws Exception { + Mockito.when(MusicCore.get(Matchers.any(PreparedQueryObject.class))).thenReturn(resultSet); + Mockito.when(musicService.getMetaAttribute("test_id")).thenReturn(ms); + Session session = musicSessionRepositoryHandler.get("test_id"); + assertNotNull(session); + } + + @SuppressWarnings("static-access") + @Test + public void getFailWithIdTest() throws Exception { + Mockito.when(MusicCore.get(Matchers.any(PreparedQueryObject.class))).thenReturn(resultSet); + Mockito.when((musicService).getMetaAttribute("test_id")).thenThrow(new NullPointerException()); + Session session = musicSessionRepositoryHandler.get("test_id"); + assertNull(session); + } +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryTest.java new file mode 100644 index 00000000..1f6af366 --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionRepositoryTest.java @@ -0,0 +1,95 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.conf; + +import static org.junit.Assert.assertNull; +import static org.mockito.Mockito.mock; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.onap.portalapp.music.service.MusicService; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.session.Session; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({MusicSession.class, MusicService.class, Session.class}) +public class MusicSessionRepositoryTest { + + + @Mock + MusicSessionRepositoryHandler handler; + + @Mock + Session session; + + @InjectMocks + MusicSessionRepository musicSessionRepository; + + MusicSession musSession = mock(MusicSession.class); + + @Before + public void setUp() throws Exception { + PowerMockito.mockStatic(MusicService.class); + PowerMockito.mockStatic(MusicSession.class); + PowerMockito.mockStatic(Session.class); + MockitoAnnotations.initMocks(this); + } + + @Test + public void setDefaultMaxInactiveIntervalTest() throws Exception { + PowerMockito.whenNew(MusicSessionRepositoryHandler.class).withNoArguments().thenReturn(handler); + musicSessionRepository.setDefaultMaxInactiveInterval(10); + } + + @Test + public void findByIdTest() { + assertNull(musicSessionRepository.findById("1")); + } + + @Test + public void deleteByIdTest() { + musicSessionRepository.deleteById("1"); + } + +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionTest.java new file mode 100644 index 00000000..65290d48 --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/conf/MusicSessionTest.java @@ -0,0 +1,262 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.conf; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; + +import java.time.Duration; +import java.time.Instant; +import java.util.Set; +import java.util.TreeSet; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.InjectMocks; +import org.mockito.Matchers; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.onap.music.exceptions.MusicLockingException; +import org.onap.music.exceptions.MusicServiceException; +import org.onap.music.main.ReturnType; +import org.onap.portalapp.music.service.MusicService; +import org.onap.portalapp.music.util.MusicProperties; +import org.onap.portalapp.music.util.MusicUtil; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.session.Session; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({ MusicUtil.class, MusicProperties.class, MusicService.class }) +public class MusicSessionTest { + + @InjectMocks + MusicSession musicSession = new MusicSession(); + + @Mock + Session session; + + Duration duration = Duration.ofSeconds(100); + + @Before + public void setUp() { + PowerMockito.mockStatic(MusicUtil.class); + PowerMockito.mockStatic(MusicProperties.class); + PowerMockito.mockStatic(MusicService.class); + Mockito.when(MusicUtil.isCached()).thenReturn(true); + MockitoAnnotations.initMocks(this); + } + + @Mock + ReturnType rt; + + @Test + public void setLastAccessedTimeTest() { + Instant instant = Instant.now(); + musicSession.setLastAccessedTime(instant); + } + + @Test + public void setLastAccessedTimeNullPointerExceptionTest() throws Exception { + Instant instant = Instant.now(); + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.any(Instant.class), Matchers.anyString())) + .thenThrow(new NullPointerException()); + musicSession.setLastAccessedTime(instant); + } + + @Test + public void musicSession() { + Set values = new TreeSet<>(); + values.add("testAttName"); + values.add("testAttName2"); + Mockito.when(session.getId()).thenReturn("testId"); + Mockito.when(session.getAttributeNames()).thenReturn(values); + Mockito.when(session.getAttribute("testAttName")).thenReturn("testAttName"); + Mockito.when(session.getAttribute("testAttName2")).thenReturn("testAttName2"); + MusicSession musSession = new MusicSession(session); + assertNotNull(musSession); + } + + @Test + public void getCreationTimeTest() throws Exception { + Instant instant = Instant.now(); + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenReturn(String.valueOf(instant)); + assertNotNull(musicSession.getCreationTime()); + } + + @Test + public void getCreationTimeInstantNowTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())).thenReturn(null); + assertNotNull(musicSession.getCreationTime()); + } + + @Test + public void getCreationTimeNullPointerExceptionTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenThrow(new NullPointerException()); + assertNull(musicSession.getCreationTime()); + } + + @Test + public void getLastAccessedTimeTest() throws Exception { + Instant instant = Instant.now(); + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenReturn(String.valueOf(instant)); + assertNotNull(musicSession.getCreationTime()); + } + + @Test + public void getLastAccessedTimeInstantNowTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())).thenReturn(null); + assertNotNull(musicSession.getCreationTime()); + } + + @Test + public void getLastAccessedTimeNullPointerExceptionTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenThrow(new NullPointerException()); + assertNull(musicSession.getCreationTime()); + } + + @Test + public void setMaxInactiveIntervalTest() throws Exception { + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.anyString(), Matchers.anyString())) + .thenReturn(rt); + musicSession.setMaxInactiveInterval(duration); + } + + @Test + public void setMaxInactiveIntervalNullPointerExceptionTest() throws Exception { + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.anyString(), Matchers.anyString())) + .thenThrow(new NullPointerException()); + musicSession.setMaxInactiveInterval(duration); + } + + @Test + public void getMaxInactiveIntervalTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenReturn(String.valueOf(duration)); + assertNotNull(musicSession.getMaxInactiveInterval()); + } + + @Test + public void getMaxInactiveIntervalDefaultDurationIntervalTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())).thenReturn(null); + assertNotNull(musicSession.getMaxInactiveInterval()); + } + + @Test + public void isExpiredFalseTest() throws Exception { + assertFalse(musicSession.isExpired()); + + } + + @Test + public void getAttributeTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())).thenReturn("test"); + assertNotNull(musicSession.getAttribute("test")); + } + + @Test + public void getAttributeNullPointerExceptionTest() throws Exception { + Mockito.when(MusicService.getAttribute(Matchers.anyString(), Matchers.anyString())) + .thenThrow(new NullPointerException()); + assertNull(musicSession.getAttribute("test")); + } + + @Test + public void getAttributeNamesTest() { + Set sessionAttrsDummy = new TreeSet<>(); + assertEquals(sessionAttrsDummy, musicSession.getAttributeNames()); + } + + @Test + public void setAttributeTest() throws Exception { + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.any(Object.class), Matchers.anyString())) + .thenReturn(rt); + musicSession.setAttribute("test_attr_name", "test_attr_value"); + } + + @Test + public void setAttributeExceptionTest() throws Exception { + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.any(Object.class), Matchers.anyString())) + .thenThrow(new NullPointerException()); + musicSession.setAttribute("test_attr_name", "test_attr_value"); + } + + @Test + public void setAttributeValueNullTest() throws Exception { + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.any(Object.class), Matchers.anyString())) + .thenReturn(rt); + musicSession.setAttribute("test_attr_name", null); + } + + @Test + public void removeAttributeMusicServiceExceptionTest() throws MusicServiceException, MusicLockingException { + Mockito.when(MusicService.removeAttribute(Matchers.anyString(), Matchers.anyString())) + .thenThrow(new MusicServiceException()); + musicSession.removeAttribute("test_attr_name"); + } + + @Test + public void removeAttributeMusicLockingExceptionTest() throws MusicServiceException, MusicLockingException { + Mockito.when(MusicService.removeAttribute(Matchers.anyString(), Matchers.anyString())) + .thenThrow(new MusicLockingException()); + musicSession.removeAttribute("test_attr_name"); + } + + @Test + public void setCreationTime() { + Instant instant = Instant.now(); + musicSession.setCreationTime(instant); + } + + @Test + public void setCreationExceptionTime() throws Exception { + Instant instant = Instant.now(); + Mockito.when(MusicService.setAttribute(Matchers.anyString(), Matchers.any(Instant.class), Matchers.anyString())) + .thenThrow(new MusicLockingException()); + musicSession.setCreationTime(instant); + } +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/model/RestResponseTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/model/RestResponseTest.java new file mode 100644 index 00000000..2f2dfaaa --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/model/RestResponseTest.java @@ -0,0 +1,58 @@ +/*- + * ============LICENSE_START========================================== + * ONAP + * =================================================================== + * 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.music.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.Test; + +public class RestResponseTest { + + @Test + public void restResponseTest() { + RestResponse expected = new RestResponse<>(); + expected.setMessage("testMessage"); + expected.setResponse("testResponse"); + expected.setStatus(RestStatusEnum.ERROR); + RestResponse actual = new RestResponse(RestStatusEnum.ERROR, "testMessage", "testResponse"); + assertEquals(expected, actual); + assertEquals(expected.hashCode(), actual.hashCode()); + assertTrue(actual.equals(expected)); + } +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/service/MusicServiceTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/service/MusicServiceTest.java new file mode 100644 index 00000000..b5479371 --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/service/MusicServiceTest.java @@ -0,0 +1,248 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.service; + +import java.nio.ByteBuffer; +import java.time.Duration; +import java.time.Instant; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.onap.music.datastore.PreparedQueryObject; +import org.onap.music.exceptions.MusicLockingException; +import org.onap.music.exceptions.MusicServiceException; +import org.onap.music.main.MusicCore; +import org.onap.music.main.ReturnType; +import org.onap.portalapp.music.util.MusicProperties; +import org.onap.portalapp.music.util.MusicUtil; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; +import org.springframework.session.Session; +import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.web.client.RestTemplate; + +import com.datastax.driver.core.ResultSet; +import com.datastax.driver.core.Row; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({MusicUtil.class, MusicCore.class, MusicProperties.class}) +public class MusicServiceTest { + @Mock + ReturnType returnType; + @Mock + ResultSet resultSet; + @Mock + RestTemplate restTemplate; + @Mock + Session session; + @Mock + Row row; + + @SuppressWarnings("unchecked") + @Before + public void setUp() throws MusicLockingException, MusicServiceException { + PowerMockito.mockStatic(MusicUtil.class); + PowerMockito.mockStatic(MusicCore.class); + Mockito.when(returnType.getMessage()).thenReturn("test"); + Mockito.when(row.getString(Mockito.anyString())).thenReturn("test"); + Mockito.when(resultSet.one()).thenReturn(row); + Mockito.when(MusicCore.atomicPut(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(PreparedQueryObject.class), Mockito.any(MusicCore.Condition.class))).thenReturn(returnType); + Mockito.when(MusicCore.eventualPut(Mockito.any(PreparedQueryObject.class))).thenReturn(returnType); + Mockito.when(MusicCore.atomicGet(Mockito.anyString(), Mockito.anyString(), Mockito.anyString(), Mockito.any(PreparedQueryObject.class))).thenReturn(resultSet); + Mockito.when(MusicCore.get(Mockito.any(PreparedQueryObject.class))).thenReturn(resultSet); + Mockito.when(session.getAttribute(Mockito.anyString())).thenReturn("test"); + ResponseEntity entityResponse = Mockito.mock(ResponseEntity.class); + Mockito.when(entityResponse.getBody()).thenReturn("Success"); + Mockito.when(restTemplate.exchange(Mockito.any(String.class), Mockito.any(HttpMethod.class), Mockito.any(HttpEntity.class), Mockito.eq(String.class))).thenReturn(entityResponse); + Mockito.when(session.getCreationTime()).thenReturn(Instant.EPOCH); + Mockito.when(session.getLastAccessedTime()).thenReturn(Instant.EPOCH); + Mockito.when(session.getMaxInactiveInterval()).thenReturn(Duration.ZERO); + Mockito.when(MusicUtil.cleanUp()).thenReturn(true); + } + + @Test + public void testSetAttribute_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", true); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(true); + MusicService.setAttribute("test", "test", "1"); + } + + @Test + public void testSetAttribute_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", false); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(false); + ByteBuffer bb = Mockito.mock(ByteBuffer.class); + Mockito.when(MusicUtil.musicSerialize(Mockito.anyObject())).thenReturn(bb); + MusicService.setAttribute("test", "test", "1"); + } + + @Test + public void testSetMetaAttribute_WhenIsAutomicPutIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", true); + MusicService.setMetaAttribute(session); + } + + @Test + public void testSetMetaAttribute_WhenIsAutomicPutIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", false); + + MusicService.setMetaAttribute(session); + } + + @Test + public void testGetMetaAttribute_WhenIsAutomicPutIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", true); + MusicService.getMetaAttribute("test"); + } + + @Test + public void testGetMetaAttribute_WhenIsAutomicPutIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", false); + MusicService.getMetaAttribute("test"); + } + + @Test + public void testGetAttribute_WhenIsAutomicPutIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", true); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(true); + MusicService.getAttribute("test", "1"); + } + + @Test + public void testGetAttribute_WhenIsAutomicPutIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", false); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(false); + MusicService.getAttribute("test", "1"); + } + + @Test + public void testRemoveAttribute_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", true); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(true); + MusicService.removeAttribute("test", "1"); + } + + @Test + public void testRemoveAttribute_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", false); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(false); + ByteBuffer bb = Mockito.mock(ByteBuffer.class); + Mockito.when(MusicUtil.musicSerialize(Mockito.anyObject())).thenReturn(bb); + MusicService.removeAttribute("test", "1"); + } + + @Test + public void testRemoveSession_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", true); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(true); + MusicService.removeSession("1"); + } + + @Test + public void testRemoveSession_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", false); + Mockito.when(MusicUtil.isSessionMetaAttr(Mockito.anyString())).thenReturn(false); + ByteBuffer bb = Mockito.mock(ByteBuffer.class); + Mockito.when(MusicUtil.musicSerialize(Mockito.anyObject())).thenReturn(bb); + MusicService.removeSession("1"); + } + + @Test + public void testSetAttributeAPI_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", restTemplate); + MusicService.setAttributeAPI("test", "test", session, "test", "test", true); + } + + @Test + public void testSetAttributeAPI_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", null); + MusicService.setAttributeAPI("test", "test", session, "test", "test", false); + } + + @Test + public void testGetAttributeAPI_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", restTemplate); + MusicService.getAttributeAPI("test", session, "test", true); + } + + @Test + public void testGetAttributeAPI_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", null); + MusicService.getAttributeAPI("test", session, "test", false); + } + + @Test + public void testRemoveAttributeAPI_WhenIsMetaIsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", restTemplate); + MusicService.removeAttributeAPI("test", "1", true); + } + + @Test + public void testRemoveAttributeAPI_WhenIsMetaIsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "template", null); + MusicService.removeAttributeAPI("test", "1", false); + } + + @Test + public void testcleanUpMusic_WhenIsAutomicFlagsTrue() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", true); + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", true); + Mockito.when(resultSet.one()).thenReturn(null); + PowerMockito.mockStatic(MusicProperties.class); + Mockito.when(MusicProperties.getProperty("music.cleanup.threshold")).thenReturn("0"); + MusicService.cleanUpMusic(); + } + + @Test + public void testcleanUpMusic_WhenIsAutomicFlagsFalse() throws Exception { + ReflectionTestUtils.setField(MusicService.class, "isAtomicPut", false); + ReflectionTestUtils.setField(MusicService.class, "isAtomicGet", false); + Mockito.when(resultSet.one()).thenReturn(null); + PowerMockito.mockStatic(MusicProperties.class); + Mockito.when(MusicProperties.getProperty("music.cleanup.threshold")).thenReturn("0"); + MusicService.cleanUpMusic(); + } + +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicPropertiesTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicPropertiesTest.java new file mode 100644 index 00000000..27f7ed6c --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicPropertiesTest.java @@ -0,0 +1,53 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.util; + +import static org.junit.Assert.assertNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.powermock.modules.junit4.PowerMockRunner; + +@RunWith(PowerMockRunner.class) +public class MusicPropertiesTest { + + @Test + public void getPropertyTest() { + assertNull(MusicProperties.getProperty("test")); + } +} diff --git a/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicUtilTest.java b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicUtilTest.java new file mode 100644 index 00000000..008dcdfc --- /dev/null +++ b/ecomp-sdk/epsdk-music/src/test/java/org/onap/portalapp/music/util/MusicUtilTest.java @@ -0,0 +1,145 @@ +/* + * ============LICENSE_START========================================== + * ONAP Portal SDK + * =================================================================== + * 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.music.util; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.onap.portalapp.music.conf.MusicSession; +import org.onap.portalapp.music.service.MusicService; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; + +import com.datastax.driver.core.ResultSet; +import com.datastax.driver.core.Row; + +@RunWith(PowerMockRunner.class) +@PrepareForTest({ MusicProperties.class, MusicSession.class, MusicService.class, MusicCleanUp.class }) +public class MusicUtilTest { + + ResultSet result = Mockito.mock(ResultSet.class); + + Row rw = Mockito.mock(Row.class); + + @Before + public void setUp() throws Exception { + MusicCleanUp musCleapUp = mock(MusicCleanUp.class); + PowerMockito.mockStatic(MusicProperties.class); + PowerMockito.mockStatic(MusicSession.class); + PowerMockito.mockStatic(MusicService.class); + PowerMockito.mockStatic(MusicCleanUp.class); + Mockito.when(MusicProperties.getProperty(MusicProperties.MUSIC_ATOMIC_PUT)).thenReturn("atomic-put"); + Mockito.when(MusicProperties.getProperty(MusicProperties.MUSIC_ATOMIC_GET)).thenReturn("atomic-get"); + Mockito.when(MusicProperties.getProperty(MusicProperties.MUSIC_CACHE)).thenReturn("cache"); + Mockito.when(MusicProperties.getProperty(MusicProperties.MUSIC_EXCLUDE_API)).thenReturn("test1,test2"); + PowerMockito.when(MusicProperties.getProperty(MusicProperties.MUSIC_SERIALIZE_COMPRESS)).thenReturn("compress"); + PowerMockito.when(MusicCleanUp.getInstance()).thenReturn(musCleapUp); + PowerMockito.when(musCleapUp.getLastCleanUpTime()).thenReturn(null); + MockitoAnnotations.initMocks(this); + } + + @Test + public void isSessionMetaAttrTest() { + assertTrue(MusicUtil.isSessionMetaAttr("CREATION_TIME")); + } + + @Test + public void musicRestResponseDataParsingTest() throws Exception { + List rows = new ArrayList(); + Mockito.doReturn("creation time").when(rw).getString("CREATION_TIME"); + rows.add(rw); + Mockito.doReturn(rows.get(0)).when(result).one(); + assertNotNull(MusicUtil.musicRestResponseDataParsing(result, "CREATION_TIME")); + } + + @Test + public void getMusicExcludedAPITest() { + assertNotNull(MusicUtil.getMusicExcludedAPI()); + } + + @Test + public void isExcludedApiTest() { + assertTrue(MusicUtil.isExcludedApi("test1")); + } + + @Test + public void isExcludedApiFalseTest() { + assertFalse(MusicUtil.isExcludedApi("test3")); + } + + @Test + public void isMusicSerializeCompressReturnFalseTest() { + assertFalse(MusicUtil.isMusicSerializeCompress()); + } + + @Test + public void isAtomicPutTest() { + assertFalse(MusicUtil.isAtomicPut()); + } + + @Test + public void isAtomicGetTest() { + assertFalse(MusicUtil.isAtomicGet()); + } + + @Test + public void isCachedTest() { + assertFalse(MusicUtil.isCached()); + } + + @Test + public void convertHoursToMillSecTest() { + assertNotNull(MusicUtil.convertHoursToMillSec(1)); + } + + @Test + public void cleanUpTest() { + assertFalse(MusicUtil.cleanUp()); + } +} -- cgit 1.2.3-korg