summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoss Armstrong <joss.armstrong@ericsson.com>2019-02-06 14:58:20 +0000
committerPatrick Brady <patrick.brady@att.com>2019-02-06 21:46:13 +0000
commit8fdee1fb6c2ce27f245a921536739ef2d4f678a2 (patch)
treecbd481e17a168789c1da7efb0f0bd08dcd1a1482
parent8ceb16a925d8ebd0ae05f6745a68507e990d9395 (diff)
Increase coverage in AppcDatabaseConnectionPool
Add test cases and increase coverage to 94% Issue-ID: APPC-1394 Change-Id: I7ec2b0cb4fe5a22ebd8020eb7f5636075e1c5ac5 Signed-off-by: Joss Armstrong <joss.armstrong@ericsson.com>
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java9
-rw-r--r--appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java54
2 files changed, 39 insertions, 24 deletions
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
index ec8898113..1f4a75911 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/main/java/org/onap/appc/dao/util/AppcDatabaseConnectionPool.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -80,8 +82,7 @@ public class AppcDatabaseConnectionPool implements DBConnectionPoolService {
String password = getConnectionProperty(configuration, PropertyPattern.PASSWORD);
String jdbcDriver = getJDBCDriver(configuration);
- dbConnectionPool = new DBConnectionPool(dbUrl, userName, password, jdbcDriver);
-
+ dbConnectionPool = getDBConnectionPool(dbUrl, userName, password, jdbcDriver);
// a simple health check
Connection connection = null;
try {
@@ -141,4 +142,8 @@ public class AppcDatabaseConnectionPool implements DBConnectionPoolService {
private String getJDBCDriver(Configuration configuration) {
return configuration.getProperty(PropertyPattern.DRIVER.getPattern(), "");
}
+
+ protected DBConnectionPool getDBConnectionPool(String dbUrl, String userName, String password, String jdbcDriver) {
+ return new DBConnectionPool(dbUrl, userName, password, jdbcDriver);
+ }
}
diff --git a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
index bc3b9f2d4..ad1b4ea0f 100644
--- a/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
+++ b/appc-dispatcher/appc-dispatcher-common/appc-data-access-lib/src/test/java/org/onap/appc/dao/util/AppcDatabaseConnectionPoolTest.java
@@ -5,6 +5,8 @@
* Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Copyright (C) 2017 Amdocs
+ * ================================================================================
+ * Modifications Copyright (C) 2019 Ericsson
* =============================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -23,43 +25,31 @@
package org.onap.appc.dao.util;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.powermock.api.mockito.PowerMockito.mock;
+import static org.powermock.api.mockito.PowerMockito.mockStatic;
+import static org.powermock.api.mockito.PowerMockito.when;
+import java.sql.Connection;
+import java.sql.SQLException;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
-import org.mockito.Mock;
import org.mockito.Mockito;
import org.onap.appc.configuration.Configuration;
import org.onap.appc.configuration.ConfigurationFactory;
import org.onap.appc.dao.util.dbcp.DBConnectionPool;
-import org.onap.appc.dao.util.exception.DBConnectionPoolException;
-import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PowerMockIgnore;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.util.Map;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyObject;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.powermock.api.mockito.PowerMockito.doReturn;
-import static org.powermock.api.mockito.PowerMockito.mock;
-import static org.powermock.api.mockito.PowerMockito.mockStatic;
-import static org.powermock.api.mockito.PowerMockito.when;
-import static org.powermock.api.support.membermodification.MemberMatcher.method;
-
@RunWith(PowerMockRunner.class)
@PrepareForTest({ConfigurationFactory.class})
@PowerMockIgnore("javax.management.*")
public class AppcDatabaseConnectionPoolTest {
- private String dbName = "dbName";
private String dbUrl = "jdbc:h2:mem:~/test;MODE=MYSQL;DB_CLOSE_DELAY=-1";
private String username = "sa";
private String password = "sa";
@@ -124,7 +114,7 @@ public class AppcDatabaseConnectionPoolTest {
@Test
public void testGetConnection() throws SQLException {
- final Connection connection = appcDatabaseConnectionPool.getConnection();
+ appcDatabaseConnectionPool.getConnection();
Mockito.verify(dbConnectionPool, times(1)).getConnection();
}
@@ -136,7 +126,27 @@ public class AppcDatabaseConnectionPoolTest {
@Test
public void testGetDataSourceStatus() {
- Map<String, Integer> dataSourceStatus = appcDatabaseConnectionPool.getDataSourceStatus();
+ appcDatabaseConnectionPool.getDataSourceStatus();
Mockito.verify(dbConnectionPool, times(1)).getDataSourceStatus();
}
+
+ @Test
+ public void testInit() throws SQLException {
+ Configuration mockConfiguration = Mockito.mock(Configuration.class);
+ when(ConfigurationFactory.getConfiguration()).thenReturn(mockConfiguration);
+ when(mockConfiguration.getProperty(Mockito.anyString(), Mockito.anyString())).thenReturn("");
+ DBConnectionPool mockDbConnectionPool = Mockito.mock(DBConnectionPool.class);
+ Connection mockConnection = Mockito.mock(Connection.class);
+ when(mockDbConnectionPool.getConnection()).thenReturn(mockConnection);
+ when(appcDatabaseConnectionPool.getDBConnectionPool("", "", "", "")).thenReturn(mockDbConnectionPool);
+ appcDatabaseConnectionPool.init();
+ Mockito.verify(mockConnection).close();
+ }
+
+ @Test
+ public void testSetDbName() {
+ AppcDatabaseConnectionPool pool = new AppcDatabaseConnectionPool();
+ pool.setDbName("TEST");
+ assertEquals("TEST", Whitebox.getInternalState(pool, "dbName"));
+ }
}