summaryrefslogtreecommitdiffstats
path: root/src/test/java/org/onap/dcae/inventory
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/onap/dcae/inventory')
-rw-r--r--src/test/java/org/onap/dcae/inventory/daos/InventoryDAOManagerTests.java44
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/daos/DCAEServiceTransactionDAOTests.java85
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceComponentObjectMapperTests.java48
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceObjectMapperTests.java50
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/mappers/DCAEServiceTypeObjectMapperTests.java110
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceComponentObjectTests.java71
-rw-r--r--src/test/java/org/onap/dcae/inventory/dbthings/models/DCAEServiceObjectTests.java72
-rw-r--r--src/test/java/org/onap/dcae/inventory/exception/mappers/DBIExceptionMapperTests.java117
-rw-r--r--src/test/java/org/onap/dcae/inventory/providers/NotFoundExceptionMapperTests.java42
9 files changed, 639 insertions, 0 deletions
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<String, Class<?>> 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<String, Class<?>> map) throws SQLException {
+ return null;
+ }
+
+ @Override
+ public ResultSet getResultSet() throws SQLException {
+ return null;
+ }
+
+ @Override
+ public ResultSet getResultSet(Map<String, Class<?>> 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<String, Class<?>> 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);
+ }
+
+}