From f758bb0ae798a53eee005b3e6e4a115f84b4ae19 Mon Sep 17 00:00:00 2001 From: Michael Hwang Date: Fri, 19 Jan 2018 10:43:43 -0500 Subject: Change package from openecomp to onap Change-Id: I2a79eb123e5fbb6a6c2f0e72030d6781fbbd7513 Issue-ID: DCAEGEN2-225 Signed-off-by: Michael Hwang --- .../inventory/daos/InventoryDAOManagerTests.java | 44 ++++++++ .../daos/DCAEServiceTransactionDAOTests.java | 85 +++++++++++++++ .../DCAEServiceComponentObjectMapperTests.java | 48 +++++++++ .../mappers/DCAEServiceObjectMapperTests.java | 50 +++++++++ .../mappers/DCAEServiceTypeObjectMapperTests.java | 110 +++++++++++++++++++ .../models/DCAEServiceComponentObjectTests.java | 71 +++++++++++++ .../dbthings/models/DCAEServiceObjectTests.java | 72 +++++++++++++ .../exception/mappers/DBIExceptionMapperTests.java | 117 +++++++++++++++++++++ .../providers/NotFoundExceptionMapperTests.java | 42 ++++++++ 9 files changed, 639 insertions(+) create mode 100644 src/test/java/org/onap/dcae/inventory/daos/InventoryDAOManagerTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/daos/DCAEServiceTransactionDAOTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceComponentObjectMapperTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceObjectMapperTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceTypeObjectMapperTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceComponentObjectTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceObjectTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/exception/mappers/DBIExceptionMapperTests.java create mode 100644 src/test/java/org/onap/dcae/inventory/providers/NotFoundExceptionMapperTests.java (limited to 'src/test/java/org/onap/dcae') diff --git a/src/test/java/org/onap/dcae/inventory/daos/InventoryDAOManagerTests.java b/src/test/java/org/onap/dcae/inventory/daos/InventoryDAOManagerTests.java new file mode 100644 index 0000000..8346372 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/daos/InventoryDAOManagerTests.java @@ -0,0 +1,44 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.daos; + +import org.onap.dcae.inventory.InventoryConfiguration; +import io.dropwizard.setup.Environment; +import org.junit.Test; +import static org.mockito.Mockito.mock; + +/** + * Created by mhwang on 3/8/17. + */ +public class InventoryDAOManagerTests { + + @Test(expected=InventoryDAOManager.InventoryDAOManagerSetupException.class) + public void testInitializeStrictness() { + InventoryDAOManager daoManager = InventoryDAOManager.getInstance(); + Environment environment = mock(Environment.class); + InventoryConfiguration configuration = mock(InventoryConfiguration.class); + // This should be ok + daoManager.setup(environment, configuration); + // Cannot do another call + daoManager.setup(environment, configuration); + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/daos/DCAEServiceTransactionDAOTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/daos/DCAEServiceTransactionDAOTests.java new file mode 100644 index 0000000..c0ad9b8 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/daos/DCAEServiceTransactionDAOTests.java @@ -0,0 +1,85 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.daos; + +import org.joda.time.DateTime; +import org.junit.Test; +import org.onap.dcae.inventory.daos.DCAEServiceComponentsDAO; +import org.onap.dcae.inventory.daos.DCAEServiceTransactionDAO; +import org.onap.dcae.inventory.daos.DCAEServicesComponentsMapsDAO; +import org.onap.dcae.inventory.daos.DCAEServicesDAO; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; + +/** + * Created by mhwang on 10/2/17. + */ +public class DCAEServiceTransactionDAOTests { + + @Test + public void testCreateDCAEServiceTransactionContext() { + String serviceId = "service-foo"; + DateTime modifiedTime = new DateTime(); + DCAEServiceTransactionDAO.DCAEServiceTransactionContext context + = new DCAEServiceTransactionDAO.DCAEServiceTransactionContext(serviceId, modifiedTime); + + assertEquals(context.getServiceId(), serviceId); + assertEquals(context.getModified(), modifiedTime); + } + + @Test + public void testInsert() { + String serviceId = "service-foo"; + DateTime modifiedTime = new DateTime(); + DCAEServiceTransactionDAO.DCAEServiceTransactionContext context + = new DCAEServiceTransactionDAO.DCAEServiceTransactionContext(serviceId, modifiedTime); + + DCAEServicesDAO servicesDAO = mock(DCAEServicesDAO.class); + DCAEServicesComponentsMapsDAO componentsMapsDAO = mock(DCAEServicesComponentsMapsDAO.class); + DCAEServiceComponentsDAO componentsDAO = mock(DCAEServiceComponentsDAO.class); + + DCAEServiceTransactionDAO transactionDAO = new DCAEServiceTransactionDAO() { + + public DCAEServicesDAO getServicesDAO() { + return servicesDAO; + } + + public DCAEServicesComponentsMapsDAO getServicesComponentsMappingDAO() { + return componentsMapsDAO; + } + + public DCAEServiceComponentsDAO getComponentsDAO() { + return componentsDAO; + } + }; + + try { + transactionDAO.insert(context); + assertTrue(true); + } catch(Exception e) { + fail("Unexpected error"); + } + + } +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceComponentObjectMapperTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceComponentObjectMapperTests.java new file mode 100644 index 0000000..bb511e2 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceComponentObjectMapperTests.java @@ -0,0 +1,48 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.mappers; + +import org.junit.Test; + +import java.sql.ResultSet; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; + +/** + * Created by mhwang on 10/2/17. + */ +public class DCAEServiceComponentObjectMapperTests { + + @Test + public void testMap() { + ResultSet resultSet = mock(ResultSet.class); + DCAEServiceComponentObjectMapper mapper = new DCAEServiceComponentObjectMapper(); + + try { + assertNotNull(mapper.map(0, resultSet, null)); + } catch(Exception e) { + fail("Unexpected exception"); + } + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceObjectMapperTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceObjectMapperTests.java new file mode 100644 index 0000000..ab150bb --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceObjectMapperTests.java @@ -0,0 +1,50 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.mappers; + +import org.junit.Test; + +import java.sql.ResultSet; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.fail; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Created by mhwang on 10/2/17. + */ +public class DCAEServiceObjectMapperTests { + + @Test + public void testMap() { + ResultSet resultSet = mock(ResultSet.class); + DCAEServiceObjectMapper mapper = new DCAEServiceObjectMapper(); + + try { + when(resultSet.getString("status")).thenReturn("RUNNING"); + assertNotNull(mapper.map(0, resultSet, null)); + } catch(Exception e) { + fail("Unexpected exception"); + } + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceTypeObjectMapperTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceTypeObjectMapperTests.java new file mode 100644 index 0000000..c1caa29 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceTypeObjectMapperTests.java @@ -0,0 +1,110 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.mappers; + +import junit.framework.TestCase; +import org.junit.Test; + +import java.sql.Array; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Map; + +import static junit.framework.TestCase.assertNotNull; +import static org.junit.Assert.fail; +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.mock; +import static org.powermock.api.mockito.PowerMockito.when; + +/** + * Created by mhwang on 10/2/17. + */ +public class DCAEServiceTypeObjectMapperTests { + + @Test + public void testMap() { + ResultSet resultSet = mock(ResultSet.class); + DCAEServiceTypeObjectMapper mapper = new DCAEServiceTypeObjectMapper(); + + try { + when(resultSet.getArray(anyString())).thenReturn(new Array() { + @Override + public String getBaseTypeName() throws SQLException { + return null; + } + + @Override + public int getBaseType() throws SQLException { + return 0; + } + + @Override + public Object getArray() throws SQLException { + return new String[10]; + } + + @Override + public Object getArray(Map> map) throws SQLException { + return null; + } + + @Override + public Object getArray(long index, int count) throws SQLException { + return null; + } + + @Override + public Object getArray(long index, int count, Map> map) throws SQLException { + return null; + } + + @Override + public ResultSet getResultSet() throws SQLException { + return null; + } + + @Override + public ResultSet getResultSet(Map> map) throws SQLException { + return null; + } + + @Override + public ResultSet getResultSet(long index, int count) throws SQLException { + return null; + } + + @Override + public ResultSet getResultSet(long index, int count, Map> map) throws SQLException { + return null; + } + + @Override + public void free() throws SQLException { + + } + }); + TestCase.assertNotNull(mapper.map(0, resultSet, null)); + } catch(Exception e) { + fail("Unexpected exception"); + } + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceComponentObjectTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceComponentObjectTests.java new file mode 100644 index 0000000..cb81131 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceComponentObjectTests.java @@ -0,0 +1,71 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.models; + +import io.swagger.model.DCAEServiceComponentRequest; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; + +/** + * Created by mhwang on 9/27/17. + */ +public class DCAEServiceComponentObjectTests { + + @Test + public void testConstructionByRequest() { + DCAEServiceComponentRequest request = (new DCAEServiceComponentRequest()).componentId("some-component-id") + .componentType("scary-component-type"); + request.setComponentSource("controller"); + request.setShareable(0); + + DCAEServiceComponentObject object = new DCAEServiceComponentObject(request); + assertEquals(object.getComponentId(), request.getComponentId()); + assertNotNull(object.getCreated()); + assertNotNull(object.getModified()); + } + + @Test + public void testConstructionForUpdating() { + DCAEServiceComponentRequest requestFirst = (new DCAEServiceComponentRequest()).componentId("some-component-id") + .componentType("scary-component-type"); + requestFirst.setComponentSource("controller"); + requestFirst.setShareable(0); + + DCAEServiceComponentObject objectFirst = new DCAEServiceComponentObject(requestFirst); + + DCAEServiceComponentRequest requestSecond = (new DCAEServiceComponentRequest()).componentId("some-other-component-id") + .componentType("happy-component-type"); + requestFirst.setComponentSource("controllerless"); + requestFirst.setShareable(1); + + DCAEServiceComponentObject objectUpdated = new DCAEServiceComponentObject(objectFirst, requestSecond); + assertEquals(objectUpdated.getComponentId(), requestFirst.getComponentId()); + assertEquals(objectUpdated.getCreated(), objectFirst.getCreated()); + assertEquals(objectUpdated.getComponentType(), requestSecond.getComponentType()); + assertEquals(objectUpdated.getComponentSource(), requestSecond.getComponentSource()); + assertEquals(objectUpdated.getShareable(), requestSecond.getShareable()); + assertNotSame(objectUpdated.getModified(), objectFirst.getModified()); + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceObjectTests.java b/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceObjectTests.java new file mode 100644 index 0000000..7a39883 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceObjectTests.java @@ -0,0 +1,72 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.dbthings.models; + +import io.swagger.model.DCAEServiceRequest; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +/** + * Created by mhwang on 9/27/17. + */ +public class DCAEServiceObjectTests { + + @Test + public void testConstructionByRequest() { + DCAEServiceRequest request = new DCAEServiceRequest(); + request.setTypeId("some-type-id"); + request.setVnfType("foo-vnf-type"); + request.setVnfLocation("san-janero"); + + String serviceId = "some-service-id"; + + DCAEServiceObject object = new DCAEServiceObject(serviceId, request); + assertEquals(object.getServiceId(), serviceId); + assertNotNull(object.getCreated()); + assertNotNull(object.getModified()); + } + + @Test + public void testConstructionByUpdating() { + DCAEServiceRequest requestFirst = new DCAEServiceRequest(); + requestFirst.setTypeId("some-type-id"); + requestFirst.setVnfType("foo-vnf-type"); + requestFirst.setVnfLocation("san-janero"); + + String serviceId = "some-service-id"; + + DCAEServiceObject objectFirst = new DCAEServiceObject(serviceId, requestFirst); + + DCAEServiceRequest requestSecond = new DCAEServiceRequest(); + requestFirst.setTypeId("other-type-id"); + requestFirst.setVnfType("bar-vnf-type"); + requestFirst.setVnfLocation("san-junipero"); + + DCAEServiceObject objectUpdated = new DCAEServiceObject(objectFirst, requestSecond); + assertEquals(objectUpdated.getServiceId(), objectFirst.getServiceId()); + assertEquals(objectUpdated.getTypeId(), requestSecond.getTypeId()); + assertEquals(objectUpdated.getVnfType(), requestSecond.getVnfType()); + assertEquals(objectUpdated.getVnfLocation(), requestSecond.getVnfLocation()); + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/exception/mappers/DBIExceptionMapperTests.java b/src/test/java/org/onap/dcae/inventory/exception/mappers/DBIExceptionMapperTests.java new file mode 100644 index 0000000..7c04295 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/exception/mappers/DBIExceptionMapperTests.java @@ -0,0 +1,117 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.exception.mappers; + +import org.onap.dcae.inventory.daos.InventoryDAOManager; +import org.onap.dcae.inventory.exceptions.mappers.DBIExceptionMapper; +import io.swagger.api.ApiResponseMessage; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.mockito.Mockito; +import org.powermock.api.mockito.PowerMockito; +import org.powermock.core.classloader.annotations.PrepareForTest; +import org.powermock.modules.junit4.PowerMockRunner; +import org.skife.jdbi.v2.exceptions.UnableToCreateStatementException; +import org.skife.jdbi.v2.exceptions.UnableToExecuteStatementException; +import org.skife.jdbi.v2.exceptions.UnableToObtainConnectionException; + +import javax.ws.rs.core.Response; + +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +/** + * Created by mhwang on 3/8/17. + */ +@PrepareForTest({InventoryDAOManager.class}) +@RunWith(PowerMockRunner.class) +public class DBIExceptionMapperTests { + + @Test + public void testReinitializeSuccess() { + // 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); + + RuntimeException fakeException = new RuntimeException("Spoofing database failure"); + + // Test UnableToObtainConnectionExceptionMapper + + DBIExceptionMapper.UnableToObtainConnectionExceptionMapper mapperOne = new DBIExceptionMapper.UnableToObtainConnectionExceptionMapper(); + Response responseOne = mapperOne.toResponse(new UnableToObtainConnectionException(fakeException)); + assert responseOne.getStatus() == 502; + String messageOne = ((ApiResponseMessage) responseOne.getEntity()).getMessage(); + assert messageOne.contains("successfully reset"); + + // Test UnableToCreateStatementExceptionMapper + + DBIExceptionMapper.UnableToCreateStatementExceptionMapper mapperTwo = new DBIExceptionMapper.UnableToCreateStatementExceptionMapper(); + Response responseTwo = mapperTwo.toResponse(new UnableToCreateStatementException(fakeException)); + assert responseTwo.getStatus() == 502; + String messageTwo = ((ApiResponseMessage) responseTwo.getEntity()).getMessage(); + assert messageTwo.contains("successfully reset"); + + // Test UnableToExecuteStatementExceptionMapper + + DBIExceptionMapper.UnableToExecuteStatementExceptionMapper mapperThree = new DBIExceptionMapper.UnableToExecuteStatementExceptionMapper(); + Response responseThree = mapperThree.toResponse(new UnableToExecuteStatementException(fakeException)); + assert responseThree.getStatus() == 502; + String messageThree = ((ApiResponseMessage) responseThree.getEntity()).getMessage(); + assert messageThree.contains("successfully reset"); + } + + @Test + public void testReinitializeFailed() { + // 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); + Mockito.doThrow(new RuntimeException("Spoof initialization failure")).when(mockDAOManager).initialize(); + + RuntimeException fakeException = new RuntimeException("Spoofing database failure"); + + // Test UnableToObtainConnectionExceptionMapper + + DBIExceptionMapper.UnableToObtainConnectionExceptionMapper mapperOne = new DBIExceptionMapper.UnableToObtainConnectionExceptionMapper(); + Response responseOne = mapperOne.toResponse(new UnableToObtainConnectionException(fakeException)); + assert responseOne.getStatus() == 502; + String messageOne = ((ApiResponseMessage) responseOne.getEntity()).getMessage(); + assert !messageOne.contains("successfully reset"); + + // Test UnableToCreateStatementExceptionMapper + + DBIExceptionMapper.UnableToCreateStatementExceptionMapper mapperTwo = new DBIExceptionMapper.UnableToCreateStatementExceptionMapper(); + Response responseTwo = mapperTwo.toResponse(new UnableToCreateStatementException(fakeException)); + assert responseTwo.getStatus() == 502; + String messageTwo = ((ApiResponseMessage) responseTwo.getEntity()).getMessage(); + assert !messageTwo.contains("successfully reset"); + + // Test UnableToExecuteStatementExceptionMapper + + DBIExceptionMapper.UnableToExecuteStatementExceptionMapper mapperThree = new DBIExceptionMapper.UnableToExecuteStatementExceptionMapper(); + Response responseThree = mapperThree.toResponse(new UnableToExecuteStatementException(fakeException)); + assert responseThree.getStatus() == 502; + String messageThree = ((ApiResponseMessage) responseThree.getEntity()).getMessage(); + assert !messageThree.contains("successfully reset"); + } + +} diff --git a/src/test/java/org/onap/dcae/inventory/providers/NotFoundExceptionMapperTests.java b/src/test/java/org/onap/dcae/inventory/providers/NotFoundExceptionMapperTests.java new file mode 100644 index 0000000..8e2b767 --- /dev/null +++ b/src/test/java/org/onap/dcae/inventory/providers/NotFoundExceptionMapperTests.java @@ -0,0 +1,42 @@ +/*- + * ============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========================================================= + */ + +package org.onap.dcae.inventory.providers; + +import io.swagger.api.NotFoundException; +import org.junit.Test; + +import javax.ws.rs.core.Response; + +import static org.junit.Assert.assertEquals; + +/** + * Created by mhwang on 10/2/17. + */ +public class NotFoundExceptionMapperTests { + + @Test + public void testNotFoundExceptionMapper() { + NotFoundExceptionMapper mapper = new NotFoundExceptionMapper(); + Response response = mapper.toResponse(new NotFoundException(100, "Some error message")); + assertEquals(response.getStatus(), 404); + } + +} -- cgit 1.2.3-korg