add additional unit tests for feed 67/82967/3
authorEmmettCox <emmett.cox@est.tech>
Fri, 22 Mar 2019 17:19:56 +0000 (17:19 +0000)
committerEmmettCox <emmett.cox@est.tech>
Fri, 22 Mar 2019 17:19:56 +0000 (17:19 +0000)
Change-Id: Ic9346b1af0ad0ad845e5d001bc3ee23e128417dc
Issue-ID: DMAAP-1119
Signed-off-by: EmmettCox <emmett.cox@est.tech>
datarouter-prov/src/test/java/org/onap/dmaap/datarouter/provisioning/beans/FeedTest.java
datarouter-prov/src/test/resources/create.sql

index 907aa93..dcab541 100644 (file)
@@ -25,6 +25,7 @@ package org.onap.dmaap.datarouter.provisioning.beans;
 import org.json.JSONObject;
 import org.junit.*;
 import org.junit.runner.RunWith;
+import org.mockito.Mockito;
 import org.onap.dmaap.datarouter.provisioning.utils.DB;
 import org.powermock.modules.junit4.PowerMockRunner;
 
@@ -32,8 +33,13 @@ import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
 import java.io.InvalidObjectException;
+import java.sql.Connection;
 import java.sql.SQLException;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
+
+import static org.mockito.Matchers.anyString;
 
 @RunWith(PowerMockRunner.class)
 public class FeedTest {
@@ -101,17 +107,80 @@ public class FeedTest {
     }
 
     @Test
-    public void Validate_ChaneOwnerShip_Returns_True()
-    {
+    public void Validate_ChaneOwnerShip_Returns_True() {
         Boolean bool = feed.changeOwnerShip();
         Assert.assertEquals(true, bool);
     }
 
     @Test
-    public void Given_Feeds_Are_Equal_Then_Equals_Returns_True()
-    {
+    public void Given_Feeds_Are_Equal_Then_Equals_Returns_True() {
         Feed feed2 = feed;
         Boolean bool = feed.equals(feed2);
         Assert.assertEquals(true, bool);
     }
+
+    @Test
+    public void Validate_getFeedByNameVersion_Returns_Valid_Feed() {
+        feed = Feed.getFeedByNameVersion("Feed1","v0.1");
+        Assert.assertEquals(feed.toString(), "FEED: feedid=1, name=Feed1, version=v0.1");
+    }
+
+    @Test
+    public void Given_doDelete_Throws_SQLException_Then_Returns_False() throws SQLException {
+        Connection spyConnection = CreateSpyForDbConnection();
+        Mockito.doThrow(new SQLException()).when(spyConnection).prepareStatement(anyString());
+        Assert.assertEquals(feed.doDelete(spyConnection), false);
+    }
+
+    @Test
+    public void Given_doInsert_Throws_SQLException_Then_Returns_False() throws SQLException {
+        Connection connection = db.getConnection();
+        FeedAuthorization fa = new FeedAuthorization();
+        Set setA = new HashSet();
+        setA.add(new FeedEndpointID("1", "Name"));
+        Set setB = new HashSet();
+        setB.add("172.0.0.1");
+        fa.setEndpoint_ids(setA);
+        fa.setEndpoint_addrs(setB);
+        feed.setAuthorization(fa);
+        Assert.assertEquals(feed.doInsert(connection), false);
+
+    }
+
+    @Test
+    public void Given_doUpdate_Throws_SQLException_Then_Returns_False() throws SQLException {
+        Connection spyConnection = CreateSpyForDbConnection();
+        Mockito.doThrow(new SQLException()).when(spyConnection).prepareStatement(anyString());
+        Assert.assertEquals(feed.doUpdate(spyConnection), false);
+
+    }
+
+    @Test
+    public void Validate_Set_Get_Methods_Return_Correct_Values(){
+        feed.setName("testName");
+        feed.setVersion("v1.0");
+        feed.setGroupid(1);
+        feed.setDescription("test feed");
+        feed.setBusiness_description("test feed");
+        feed.setSuspended(false);
+        feed.setPublisher("publish");
+
+        Assert.assertEquals(feed.getName(), "testName");
+        Assert.assertEquals(feed.getVersion(), "v1.0");
+        Assert.assertEquals(feed.getGroupid(), 1);
+        Assert.assertEquals(feed.getDescription(), "test feed");
+        Assert.assertEquals(feed.getBusiness_description(), "test feed");
+        Assert.assertEquals(feed.isSuspended(), false);
+        Assert.assertEquals(feed.getPublisher(), "publish");
+    }
+
+    @Test
+    public void Given_IsFeedValid_Called_And_Feed_Exists_Returns_True(){
+        Assert.assertEquals(feed.isFeedValid(1), true);
+    }
+
+    private Connection CreateSpyForDbConnection() throws SQLException {
+        Connection conn = db.getConnection();
+        return Mockito.spy(conn);
+    }
 }
\ No newline at end of file
index 887b06a..9412adf 100755 (executable)
@@ -158,6 +158,9 @@ VALUES (23, 1, 'http://delivery_url', 'user1', 'somepassword', 'sub123', 'selfli
 INSERT INTO FEED_ENDPOINT_IDS(FEEDID, USERID, PASSWORD)
 VALUES (1, 'USER', 'PASSWORD');
 
+INSERT INTO FEED_ENDPOINT_ADDRS(FEEDID, ADDR)
+VALUES (1, '172.0.0.1');
+
 INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
 VALUES (1, 1,'Feed1','v0.1', 'First Feed for testing', 'First Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');