Improve unit test for catalog 63/28363/3
authorsubhash kumar singh <subhash.kumar.singh@huawei.com>
Wed, 17 Jan 2018 05:54:54 +0000 (05:54 +0000)
committersubhash kumar singh <subhash.kumar.singh@huawei.com>
Wed, 17 Jan 2018 06:10:58 +0000 (06:10 +0000)
Improve unit test for catalog.java.

Change-Id: I622fc6ae73de365b0942d3fec5867de7688057b6
Issue-ID: SO-360
Signed-off-by: subhash kumar singh <subhash.kumar.singh@huawei.com>
mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
mso-catalog-db/src/test/java/org/openecomp/mso/db/catalog/test/CatalogDatabaseTest.java

index 7ac188b..d27de98 100644 (file)
@@ -378,16 +378,16 @@ public class CatalogDatabase implements Closeable {
      */
     public Service getService (String modelName) {
 
-        long startTime = System.currentTimeMillis ();
-        LOGGER.debug ("Catalog database - get service with name " + modelName);
+        long startTime = System.currentTimeMillis();
+        LOGGER.debug("Catalog database - get service with name " + modelName);
 
         String hql = "FROM Service WHERE modelName = :MODEL_NAME";
-        Query query = getSession ().createQuery (hql);
-        query.setParameter ("MODEL_NAME", modelName);
+        Query query = getSession().createQuery(hql);
+        query.setParameter("MODEL_NAME", modelName);
 
         Service service = null;
         try {
-               service = (Service) query.uniqueResult ();
+               service = (Service) query.uniqueResult();
         } catch (org.hibernate.NonUniqueResultException nure) {
                LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: modelName='" + modelName + "'");
                LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " non unique result for modelName=" + modelName, "", "", MsoLogger.ErrorCode.DataError, "Non unique result for modelName=" + modelName);
@@ -412,8 +412,8 @@ public class CatalogDatabase implements Closeable {
 
     public Service getServiceByModelUUID (String modelUUID) {
 
-        long startTime = System.currentTimeMillis ();
-        LOGGER.debug ("Catalog database - get service with Model UUID " + modelUUID);
+        long startTime = System.currentTimeMillis();
+        LOGGER.debug("Catalog database - get service with Model UUID " + modelUUID);
 
         String hql = "FROM Service WHERE modelUUID = :MODEL_UUID";
         HashMap<String, String> parameters = new HashMap<>();
index 7d39dd6..dadedfb 100644 (file)
@@ -615,21 +615,182 @@ public class CatalogDatabaseTest {
         assertEquals(null, service);
     }
 
-    @Test(expected = Exception.class)
-    public void getServiceTestException(){
-        Service ht = cd.getService("123");
+    @Test
+    public void getServiceTest(){
+
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                Service service = new Service();
+                service.setModelUUID("123-uuid");
+                return service;
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+
+        Service service = cd.getService("123");
+        assertEquals("123-uuid", service.getModelUUID());
     }
 
-    @Test(expected = Exception.class)
-    public void getServiceByModelUUIDTestException(){
-        Service ht = cd.getServiceByModelUUID("123");
+    @Test(expected = NonUniqueResultException.class)
+    public void getServiceNoUniqueResultTest(){
+
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                throw new NonUniqueResultException(-1);
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+
+        Service service = cd.getService("123");
+    }
+
+    @Test(expected = HibernateException.class)
+    public void getServiceHibernateExceptionTest(){
+
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                throw new HibernateException("hibernate exception");
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+
+        Service service = cd.getService("123");
     }
 
     @Test(expected = Exception.class)
-    public void getService2TestException(){
+    public void getServiceExceptionTest(){
+
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                throw new Exception("generic exception");
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+
+        Service service = cd.getService("123");
+    }
+
+    @Test
+    public void getServiceByModelUUIDTest(){
+
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                Service service = new Service();
+                service.setModelUUID("123-uuid");
+                return service;
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+        Service service = cd.getServiceByModelUUID("123");
+        assertEquals("123-uuid", service.getModelUUID());
+    }
+
+    @Test
+    public void getService2Test(){
+        MockUp<Query> mockUpQuery = new MockUp<Query>() {
+
+            @Mock
+            public Object uniqueResult() throws Exception {
+                Service service = new Service();
+                service.setModelUUID("123-uuid");
+                return service;
+            }
+        };
+
+        MockUp<Session> mockedSession = new MockUp<Session>() {
+            @Mock
+            public Query createQuery(String hql) {
+                return mockUpQuery.getMockInstance();
+            }
+        };
+
+        new MockUp<CatalogDatabase>() {
+            @Mock
+            private Session getSession() {
+                return mockedSession.getMockInstance();
+            }
+        };
+
         HashMap<String, String> map = new HashMap<>();
         map.put("serviceNameVersionId", "v2");
-        Service ht = cd.getService(map, "123");
+        Service service = cd.getService(map, "123");
+
+        assertEquals("123-uuid", service.getModelUUID());
     }
 
     @Test(expected = Exception.class)