diff options
author | Michael Hwang <mhwang@research.att.com> | 2018-03-22 11:02:57 -0400 |
---|---|---|
committer | Michael Hwang <mhwang@research.att.com> | 2018-03-26 10:56:24 -0400 |
commit | e65fc2fc02594a7c8640a6330b2373db1efb923e (patch) | |
tree | 4433e083f96dcb1ad26c6f73d437195d6d8f7a75 /src/test/java/DcaeServiceTypesApiServiceImplTests.java | |
parent | 7f61b70d33879712c5dad64c04a5d54b2b065138 (diff) |
Add unit tests to reach 50% coverage
Ripped out the dcae controller code which is no longer
needed.
Change-Id: I43906edb80bcd5e25445ec2a7175c6748b0ab2ae
Signed-off-by: Michael Hwang <mhwang@research.att.com>
Issue-ID: DCAEGEN2-257
Diffstat (limited to 'src/test/java/DcaeServiceTypesApiServiceImplTests.java')
-rw-r--r-- | src/test/java/DcaeServiceTypesApiServiceImplTests.java | 223 |
1 files changed, 0 insertions, 223 deletions
diff --git a/src/test/java/DcaeServiceTypesApiServiceImplTests.java b/src/test/java/DcaeServiceTypesApiServiceImplTests.java deleted file mode 100644 index 3882c53..0000000 --- a/src/test/java/DcaeServiceTypesApiServiceImplTests.java +++ /dev/null @@ -1,223 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * dcae-inventory - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file 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. - * ============LICENSE_END========================================================= - */ - -import org.onap.dcae.inventory.daos.DCAEServiceTypesDAO; -import org.onap.dcae.inventory.daos.DCAEServicesDAO; -import org.onap.dcae.inventory.daos.InventoryDAOManager; -import org.onap.dcae.inventory.dbthings.models.DCAEServiceObject; -import org.onap.dcae.inventory.dbthings.models.DCAEServiceTypeObject; -import io.swagger.api.impl.DcaeServiceTypesApiServiceImpl; -import io.swagger.model.DCAEServiceType; -import io.swagger.model.DCAEServiceTypeRequest; -import org.joda.time.DateTime; -import org.junit.Before; -import org.junit.Test; - -import javax.ws.rs.core.Response; -import javax.ws.rs.core.UriBuilder; -import javax.ws.rs.core.UriInfo; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.*; - -import org.junit.runner.RunWith; -import org.powermock.api.mockito.PowerMockito; -import org.powermock.core.classloader.annotations.PrepareForTest; -import org.powermock.modules.junit4.PowerMockRunner; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.Arrays; -import java.util.Objects; -import java.util.UUID; - - -/** - * Created by mhwang on 10/27/16. - */ -@PrepareForTest({InventoryDAOManager.class}) -@RunWith(PowerMockRunner.class) -public class DcaeServiceTypesApiServiceImplTests { - - private final static Logger LOG = LoggerFactory.getLogger(DcaeServiceTypesApiServiceImplTests.class); - - private final static String URL_PATH = "http://testing-is-good.com"; - - private DcaeServiceTypesApiServiceImpl api = null; - private UriInfo uriInfo = null; - private DCAEServiceTypesDAO mockTypesDAO = null; - private DCAEServicesDAO mockServicesDAO = null; - - @Before - public void setupClass() { - api = new DcaeServiceTypesApiServiceImpl(); - - uriInfo = mock(UriInfo.class); - mockTypesDAO = mock(DCAEServiceTypesDAO.class); - mockServicesDAO = mock(DCAEServicesDAO.class); - - // PowerMockito does bytecode magic to mock static methods and use final classes - PowerMockito.mockStatic(InventoryDAOManager.class); - InventoryDAOManager mockDAOManager = mock(InventoryDAOManager.class); - - when(InventoryDAOManager.getInstance()).thenReturn(mockDAOManager); - when(mockDAOManager.getDCAEServiceTypesDAO()).thenReturn(mockTypesDAO); - when(mockDAOManager.getDCAEServicesDAO()).thenReturn(mockServicesDAO); - - when(uriInfo.getBaseUriBuilder()).thenReturn(UriBuilder.fromPath(URL_PATH)); - } - - private static boolean matchTypeVsTypeObject(DCAEServiceType serviceType, DCAEServiceTypeObject serviceTypeObject, String prefixPath) { - return Objects.equals(serviceType.getTypeId(), serviceTypeObject.getTypeId()) - && Objects.equals(serviceType.getTypeName(), serviceTypeObject.getTypeName()) - && Objects.equals(serviceType.getTypeVersion(), serviceTypeObject.getTypeVersion()) - && Objects.equals(serviceType.getOwner(), serviceTypeObject.getOwner()) - && Objects.equals(serviceType.getBlueprintTemplate(), serviceTypeObject.getBlueprintTemplate()) - && Objects.equals(serviceType.getCreated(), serviceTypeObject.getCreated().toDate()) - && Objects.equals(serviceType.getVnfTypes(), serviceTypeObject.getVnfTypes()) - && Objects.equals(serviceType.getServiceIds(), serviceTypeObject.getServiceIds()) - && Objects.equals(serviceType.getServiceLocations(), serviceTypeObject.getServiceLocations()) - && Objects.equals(serviceType.getAsdcResourceId(), serviceTypeObject.getAsdcResourceId()) - && Objects.equals(serviceType.getAsdcServiceId(), serviceTypeObject.getAsdcServiceId()) - && serviceType.getSelfLink().getUri().toString().contains(prefixPath) - && serviceType.getSelfLink().getUri().toString().contains(serviceTypeObject.getTypeId()); - } - - @Test - public void testGetSuccess() { - DCAEServiceTypeObject minimalFixture = new DCAEServiceTypeObject(); - minimalFixture.setTypeId("abc:1"); - minimalFixture.setTypeName("abc"); - minimalFixture.setTypeVersion(1); - minimalFixture.setOwner("tester"); - minimalFixture.setBlueprintTemplate("{ blueprint template goes here }"); - minimalFixture.setCreated(DateTime.parse("2016-10-28T00:00")); - - DCAEServiceTypeObject fullFixture = new DCAEServiceTypeObject(); - fullFixture.setTypeId("def:1"); - fullFixture.setTypeName("def"); - fullFixture.setTypeVersion(1); - fullFixture.setOwner("tester"); - fullFixture.setBlueprintTemplate("{ blueprint template goes here }"); - fullFixture.setCreated(DateTime.parse("2016-10-28T00:00")); - fullFixture.setAsdcServiceId("4bb4e740-3920-442d-9ed3-89f15bdbff8a"); - fullFixture.setAsdcResourceId("3ea9dfae-a00d-4da8-8c87-02a34de8fc02"); - fullFixture.setVnfTypes(Arrays.asList(new String[] { "vnf-marble", "vnf-granite" })); - fullFixture.setServiceIds(Arrays.asList(new String[] { "service-alpha", "service-bravo" })); - fullFixture.setServiceLocations(Arrays.asList(new String[] { "New York", "Washington" })); - - for (DCAEServiceTypeObject fixture : new DCAEServiceTypeObject[] {minimalFixture, fullFixture}) { - String someTypeId = fixture.getTypeId(); - when(mockTypesDAO.getByTypeId(someTypeId)).thenReturn(fixture); - - try { - Response response = api.dcaeServiceTypesTypeIdGet(someTypeId, uriInfo, null); - DCAEServiceType serviceType = (DCAEServiceType) response.getEntity(); - assertTrue("GET - 200 test case failed", matchTypeVsTypeObject(serviceType, fixture, URL_PATH)); - } catch (Exception e) { - throw new RuntimeException("Unexpected exception: get 200", e); - } - } - } - - @Test - public void testGetNotFound() { - String someTypeId = "abc:1"; - when(mockTypesDAO.getByTypeId(someTypeId)).thenReturn(null); - - try { - Response response = api.dcaeServiceTypesTypeIdGet(someTypeId, uriInfo, null); - assertEquals("GET - 404 test case failed", 404, response.getStatus()); - } catch(Exception e) { - throw new RuntimeException("Unexpected exception: get 404", e); - } - } - - // TODO: Update this to check type id again. Must mock dao calls deeper. - private static boolean matchTypeVsTypeRequest(DCAEServiceType serviceType, DCAEServiceTypeRequest serviceTypeRequest, String prefixPath) { - return Objects.equals(serviceType.getTypeName(), serviceTypeRequest.getTypeName()) - && Objects.equals(serviceType.getTypeVersion(), serviceTypeRequest.getTypeVersion()) - && Objects.equals(serviceType.getOwner(), serviceTypeRequest.getOwner()) - && Objects.equals(serviceType.getBlueprintTemplate(), serviceTypeRequest.getBlueprintTemplate()) - && serviceType.getCreated() != null - && Objects.equals(serviceType.getVnfTypes(), serviceTypeRequest.getVnfTypes()) - && Objects.equals(serviceType.getServiceIds(), serviceTypeRequest.getServiceIds()) - && Objects.equals(serviceType.getServiceLocations(), serviceTypeRequest.getServiceLocations()) - && Objects.equals(serviceType.getAsdcResourceId(), serviceTypeRequest.getAsdcResourceId()) - && Objects.equals(serviceType.getAsdcServiceId(), serviceTypeRequest.getAsdcServiceId()) - && serviceType.getSelfLink().getUri().toString().contains(prefixPath); - } - - // TODO: Need to add tests for repeated POSTs == updates. - @Test - public void testPost() { - DCAEServiceTypeRequest minimalFixture = new DCAEServiceTypeRequest(); - minimalFixture.setTypeName("abc"); - minimalFixture.setTypeVersion(1); - minimalFixture.setOwner("tester"); - minimalFixture.setBlueprintTemplate("{ blueprint template goes here }"); - - DCAEServiceTypeRequest fullFixture = new DCAEServiceTypeRequest(); - fullFixture.setTypeName("def"); - fullFixture.setTypeVersion(1); - fullFixture.setOwner("tester"); - fullFixture.setBlueprintTemplate("{ blueprint template goes here }"); - fullFixture.setAsdcServiceId("4bb4e740-3920-442d-9ed3-89f15bdbff8a"); - fullFixture.setAsdcResourceId("3ea9dfae-a00d-4da8-8c87-02a34de8fc02"); - fullFixture.setVnfTypes(Arrays.asList(new String[] { "vnf-marble", "vnf-granite" })); - fullFixture.setServiceIds(Arrays.asList(new String[] { "service-alpha", "service-bravo" })); - fullFixture.setServiceLocations(Arrays.asList(new String[] { "New York", "Washington" })); - - for (DCAEServiceTypeRequest fixture : new DCAEServiceTypeRequest[] {minimalFixture, fullFixture}) { - try { - Response response = api.dcaeServiceTypesTypeIdPost(fixture, uriInfo, null); - DCAEServiceType serviceType = (DCAEServiceType) response.getEntity(); - assertTrue("POST - 200 test case failed", matchTypeVsTypeRequest(serviceType, fixture, URL_PATH)); - } catch (Exception e) { - throw new RuntimeException("Unexpected exception: post new 200", e); - } - } - } - - @Test - public void testPostConflict() { - DCAEServiceTypeRequest minimalFixture = new DCAEServiceTypeRequest(); - minimalFixture.setTypeName("abc"); - minimalFixture.setTypeVersion(1); - minimalFixture.setOwner("tester"); - minimalFixture.setBlueprintTemplate("{ blueprint template goes here }"); - - UUID expectedTypeIdUUID = UUID.randomUUID(); - - DCAEServiceTypeObject fakeExistingType = new DCAEServiceTypeObject(); - fakeExistingType.setTypeId(expectedTypeIdUUID.toString()); - when(mockTypesDAO.getByRequestFromNotASDC(minimalFixture)).thenReturn(fakeExistingType); - when(mockServicesDAO.countByType(DCAEServiceObject.DCAEServiceStatus.RUNNING, fakeExistingType.getTypeId())).thenReturn(10); - - try { - Response response = api.dcaeServiceTypesTypeIdPost(minimalFixture, uriInfo, null); - assertEquals("POST - 401 test case failed", 409, response.getStatus()); - } catch (Exception e) { - throw new RuntimeException("Unexpected exception: post new 200", e); - } - } - -} |