aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/data-provider/setup/src/test
diff options
context:
space:
mode:
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>2021-07-26 12:42:00 +0530
committerKAPIL SINGAL <ks220y@att.com>2021-07-28 16:08:00 +0000
commit016536791b95df23811dabd063010f0561526163 (patch)
treedc9af75cdad070fa803b6ea8799cfa38244a17f0 /sdnr/wt/data-provider/setup/src/test
parentd70d7624795a9305eef1f0a6d3842d47ecd27160 (diff)
Support for MariaDB
Support for MariaDB Issue-ID: CCSDK-3384 Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com> Change-Id: Ic93ad33257a091f2cd208cdf02d1d7400c256bf0 Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/data-provider/setup/src/test')
-rw-r--r--sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/MariaDBTestBase.java187
-rw-r--r--sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBIstanbul.java90
-rw-r--r--sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBMapper.java228
-rw-r--r--sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMigrationProvider.java6
4 files changed, 509 insertions, 2 deletions
diff --git a/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/MariaDBTestBase.java b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/MariaDBTestBase.java
new file mode 100644
index 000000000..264f1203c
--- /dev/null
+++ b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/MariaDBTestBase.java
@@ -0,0 +1,187 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2021 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.dataprovider.setup;
+
+import static org.junit.Assert.fail;
+import java.io.File;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Random;
+import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
+import org.onap.ccsdk.features.sdnr.wt.common.configuration.subtypes.Section;
+import org.onap.ccsdk.features.sdnr.wt.common.configuration.subtypes.Section.EnvGetter;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBClient;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBConfig;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.data.SqlDBDataProvider;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.database.SqlDBMapper;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.database.SqlDBMapper.UnableToMapClassException;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultcurrentEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GuicutthroughEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.InventoryEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MaintenanceEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MediatorServerEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Pmdata15mEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Pmdata24hEntity;
+import ch.vorburger.exec.ManagedProcessException;
+import ch.vorburger.mariadb4j.DB;
+import ch.vorburger.mariadb4j.DBConfigurationBuilder;
+
+public class MariaDBTestBase {
+
+ private final SqlDBDataProvider dbProvider;
+ private final DB db;
+ private static final Map<String, String> envDefaultValues = initEnvDefaultValues();
+ private static final String SDNRDBDATABASETEST="test";
+ private static final String TESTPROPFILE = "test.properties";
+
+ public MariaDBTestBase() throws ManagedProcessException {
+ this(new Random().nextInt(1000) + 50000);
+ }
+ private static String dbUrl(String host, int port, String dbName) {
+ return String.format("jdbc:mysql://%s:%d/%s", host,port,dbName);
+ }
+ private static Map<String, String> initEnvDefaultValues() {
+ Map<String, String> defaults = new HashMap<>();
+ defaults.put("SDNRDBURL", dbUrl("localhost",3306,SDNRDBDATABASETEST));
+ defaults.put("SDNRDBDATABASE", "test");
+
+ return defaults;
+ }
+ public MariaDBTestBase(String host, int port) {
+ this(host, port, SDNRDBDATABASETEST );
+ }
+ public MariaDBTestBase(String host, int port, String dbName) {
+ EnvGetter env = Section.getEnvGetter();
+ envDefaultValues.put("SDNRDBURL", dbUrl(host,port,dbName));
+ envDefaultValues.put("SDNRDBUSERNAME", "sdnrdb");
+ envDefaultValues.put("SDNRDBPASSWORD", "sdnrdb");
+ Section.setEnvGetter((envname) -> {
+ return envDefaultValues.getOrDefault(envname, env.getenv(envname));
+ });
+ SqlDBConfig config = new SqlDBConfig(new ConfigurationFileRepresentation(TESTPROPFILE));
+ config.setControllerId("test123");
+ this.db = null;
+ this.dbProvider = new SqlDBDataProvider(config, false);
+ //testCreateTable(this.dbProvider.getDBService());
+ }
+
+ public MariaDBTestBase(int port) throws ManagedProcessException {
+ EnvGetter env = Section.getEnvGetter();
+ envDefaultValues.put("SDNRDBURL",dbUrl("localhost",port,SDNRDBDATABASETEST));
+ Section.setEnvGetter((envname) -> {
+ return envDefaultValues.getOrDefault(envname, env.getenv(envname));
+ });
+ SqlDBConfig config = new SqlDBConfig(new ConfigurationFileRepresentation(TESTPROPFILE));
+ //start db server
+ this.db = startDatabase(port);
+ //create db with name sdnrdb
+ this.dbProvider = new SqlDBDataProvider(config, false);
+ //testCreateTable(this.dbProvider.getDBService());
+ }
+
+ public void close() throws ManagedProcessException {
+ if (db != null) {
+ this.db.stop();
+ }
+ File f = new File(TESTPROPFILE);
+ if(f.exists()) {
+ f.delete();
+ }
+ }
+
+ public SqlDBDataProvider getDbProvider() {
+ return dbProvider;
+ }
+
+ public DB getDb() {
+ return db;
+ }
+
+ private static DB startDatabase(int port) throws ManagedProcessException {
+ // Start MariaDB4j database
+ DBConfigurationBuilder dbconfig = DBConfigurationBuilder.newBuilder();
+ dbconfig.setPort(port); // 0 => autom. detect free port
+ DB db = DB.newEmbeddedDB(dbconfig.build());
+ db.start();
+ return db;
+ }
+ public static void testCreateTable(SqlDBClient dbService) {
+ createTableOdl(dbService);
+ createTable(dbService, ConnectionlogEntity.class, Entity.Connectionlog, true);
+ createTable(dbService, EventlogEntity.class, Entity.Eventlog, true);
+ createTable(dbService, FaultcurrentEntity.class, Entity.Faultcurrent, false);
+ createTable(dbService, FaultlogEntity.class, Entity.Faultlog, true);
+ createTable(dbService, GuicutthroughEntity.class, Entity.Guicutthrough, true);
+ createTable(dbService, Pmdata15mEntity.class, Entity.Historicalperformance15min, false);
+ createTable(dbService, Pmdata24hEntity.class, Entity.Historicalperformance24h, false);
+ createTable(dbService, InventoryEntity.class, Entity.Inventoryequipment, false);
+ createTable(dbService, MaintenanceEntity.class, Entity.Maintenancemode, false);
+ createTable(dbService, MediatorServerEntity.class, Entity.MediatorServer, true);
+ createTable(dbService, NetworkElementConnectionEntity.class, Entity.NetworkelementConnection, false);
+ }
+ public static boolean createTableOdl(SqlDBClient dbService) {
+ String createStatement = null;
+ createStatement = SqlDBMapper.createTableOdl();
+ System.out.println(createStatement);
+ try {
+ return dbService.write(createStatement);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+ return false;
+ }
+
+ public static boolean createTable(SqlDBClient dbService, Class<?> cls, Entity entity, boolean autoIndex) {
+ String createStatement = null;
+ try {
+ createStatement = SqlDBMapper.createTable(cls, entity, "", autoIndex);
+ } catch (UnableToMapClassException e) {
+ fail(e.getMessage());
+ }
+ System.out.println(createStatement);
+ try {
+ return dbService.write(createStatement);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+ return false;
+ }
+ public String getDBUrl() {
+ return envDefaultValues.get("SDNRDBURL");
+ }
+ public String getDBUsername() {
+ return envDefaultValues.getOrDefault("SDNRDBUSERNAME","");
+ }
+ public String getDBPassword() {
+ return envDefaultValues.getOrDefault("SDNRDBPASSWORD","");
+ }
+}
diff --git a/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBIstanbul.java b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBIstanbul.java
new file mode 100644
index 000000000..072ce2f6b
--- /dev/null
+++ b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBIstanbul.java
@@ -0,0 +1,90 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.dataprovider.setup;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+import java.sql.SQLException;
+import java.util.concurrent.TimeUnit;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBClient;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.data.SqlDBDataProvider;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.SdnrDbType;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.Release;
+import ch.vorburger.exec.ManagedProcessException;
+
+public class TestMariaDBIstanbul {
+
+ private static final String MARIADB_USERNAME = "sdnrdb";
+ private static final String MARIADB_PASSWORD = "sdnrdb";
+ // private static final String MARIADB_HOST = "10.20.11.159";
+ private static final String MARIADB_HOST = "sdnrdb";
+ private static final int MARIADB_PORT = 3306;
+ private static final String MARIADB_DATABASENAME = "sdnrdb";
+
+ private static SqlDBClient dbService;
+
+ private static MariaDBTestBase testBase;
+ private static SqlDBDataProvider dbProvider;
+
+ @BeforeClass
+ public static void init() throws Exception {
+
+ //testBase = new MariaDBTestBase(MARIADB_HOST,MARIADB_PORT, MARIADB_DATABASENAME);
+ testBase = new MariaDBTestBase();
+ dbProvider = testBase.getDbProvider();
+ dbProvider.waitForDatabaseReady(30, TimeUnit.SECONDS);
+ // dbProvider.setControllerId();
+
+ }
+
+ @AfterClass
+ public static void close() {
+ try {
+ testBase.close();
+ } catch (ManagedProcessException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void testCreate() {
+ DataMigrationProviderImpl provider = null;
+ try {
+ provider = new DataMigrationProviderImpl(SdnrDbType.MARIADB, testBase.getDBUrl(), testBase.getDBUsername(),
+ testBase.getDBPassword(), true, 30000);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail(e.getMessage());
+ }
+ boolean success = provider.initDatabase(Release.ISTANBUL_R1, 1, 1, "", false, 1000);
+ assertTrue("init database failed",success);
+ try {
+ dbProvider.setControllerId();
+ } catch (SQLException e) {
+ fail(e.getMessage());
+ }
+
+ }
+}
diff --git a/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBMapper.java b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBMapper.java
new file mode 100644
index 000000000..f39f9b088
--- /dev/null
+++ b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMariaDBMapper.java
@@ -0,0 +1,228 @@
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2021 highstreet technologies GmbH 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.ccsdk.features.sdnr.wt.dataprovider.setup;
+
+import static org.junit.Assert.fail;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import java.lang.reflect.InvocationTargetException;
+import java.sql.SQLException;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Properties;
+import java.util.concurrent.TimeUnit;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.SqlDBClient;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.data.SqlDBDataProvider;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.database.SqlDBMapper;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.database.SqlDBMapper.UnableToMapClassException;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.query.InsertQuery;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.database.sqldb.query.SelectQuery;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionLogStatus;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.ConnectionlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Entity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.EventlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultcurrentEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.FaultlogEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.GuicutthroughEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.InventoryEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MaintenanceEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.MediatorServerEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnection;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionBuilder;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementConnectionEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.NetworkElementDeviceType;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Pmdata15mEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.Pmdata24hEntity;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.network.element.connection.entity.NodeDetails;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev201110.network.element.connection.entity.NodeDetailsBuilder;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.Uint32;
+import ch.vorburger.exec.ManagedProcessException;
+
+public class TestMariaDBMapper {
+
+
+ private static final String MARIADB_USERNAME = "sdnrdb";
+ private static final String MARIADB_PASSWORD = "sdnrdb";
+ // private static final String MARIADB_HOST = "10.20.11.159";
+ private static final String MARIADB_HOST = "sdnrdb";
+ private static final int MARIADB_PORT = 3306;
+ private static final String MARIADB_DATABASENAME = "sdnrdb";
+
+ // private static DbLibService dbService;
+
+ private static MariaDBTestBase testBase;
+ private static SqlDBDataProvider dbProvider;
+
+ @BeforeClass
+ public static void init() throws Exception {
+
+ testBase = new MariaDBTestBase();
+ dbProvider = testBase.getDbProvider();
+ dbProvider.waitForDatabaseReady(30, TimeUnit.SECONDS);
+ // dbProvider.setControllerId();
+
+ }
+
+ @AfterClass
+ public static void close() {
+ try {
+ testBase.close();
+ } catch (ManagedProcessException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void testCreateSdnrDBTables() {
+ createTables(dbProvider.getDBService());
+ }
+
+ public static void createTables(SqlDBClient dbService) {
+ createTableOdl(dbService);
+ createTable(dbService, ConnectionlogEntity.class, Entity.Connectionlog, true);
+ createTable(dbService, EventlogEntity.class, Entity.Eventlog, true);
+ createTable(dbService, FaultcurrentEntity.class, Entity.Faultcurrent, false);
+ createTable(dbService, FaultlogEntity.class, Entity.Faultlog, true);
+ createTable(dbService, GuicutthroughEntity.class, Entity.Guicutthrough, true);
+ createTable(dbService, Pmdata15mEntity.class, Entity.Historicalperformance15min, false);
+ createTable(dbService, Pmdata24hEntity.class, Entity.Historicalperformance24h, false);
+ createTable(dbService, InventoryEntity.class, Entity.Inventoryequipment, false);
+ createTable(dbService, MaintenanceEntity.class, Entity.Maintenancemode, false);
+ createTable(dbService, MediatorServerEntity.class, Entity.MediatorServer, true);
+ createTable(dbService, NetworkElementConnectionEntity.class, Entity.NetworkelementConnection, false);
+ }
+
+ //@Test
+ public void testInsert() {
+ NetworkElementConnectionBuilder builder = new NetworkElementConnectionBuilder();
+ builder.setId("ROADM-A");
+ builder.setNodeId("ROADM-A");
+ builder.setCoreModelCapability("2017-03-12");
+ builder.setDeviceType(NetworkElementDeviceType.OROADM);
+ builder.setHost("10.20.30.40");
+ builder.setIsRequired(true);
+ NodeDetails nodeDetails = new NodeDetailsBuilder().setAvailableCapabilities(Arrays.asList(
+ "urn:ietf:params:netconf:capability:with-defaults:1.0?basic-mode=explicit&also-supported=report-all,"
+ + "report-all-tagged,trim,explicit",
+ "urn:ietf:params:netconf:capability:validate:1.1", "urn:ietf:params:netconf:capability:url:1.0"))
+ .build();
+ builder.setNodeDetails(nodeDetails);
+ builder.setPassword("password");
+ builder.setPort(Uint32.valueOf(50000));
+ builder.setStatus(ConnectionLogStatus.Connected);
+ builder.setUsername("admin");
+ try {
+ writeEntry(builder.build(), Entity.NetworkelementConnection);
+ } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException
+ | JsonProcessingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+ //@Test
+ public void testRead() {
+ List<NetworkElementConnection> con =
+ readEntry(Entity.NetworkelementConnection, NetworkElementConnection.class, "ROADM-A");
+ System.out.println(con);
+ }
+
+ private <T extends DataObject> List<T> readEntry(Entity entity, Class<T> clazz, String id) {
+ final SelectQuery selectStatement = new SelectQuery(entity.getName());
+ System.out.println(selectStatement);
+ try {
+ return SqlDBMapper.read(dbProvider.getDBService().read(selectStatement.toSql()), clazz);
+
+ } catch (SQLException | IllegalAccessException | IllegalArgumentException | InvocationTargetException
+ | InstantiationException | SecurityException | NoSuchMethodException | JsonProcessingException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+ return null;
+ }
+
+ private <T extends DataObject> boolean writeEntry(T data, Entity entity) throws IllegalAccessException,
+ IllegalArgumentException, InvocationTargetException, JsonProcessingException {
+
+ final InsertQuery<T> insertStatement = new InsertQuery<T>(entity, data, dbProvider.getControllerId());
+ System.out.println(insertStatement);
+ try {
+ return dbProvider.getDBService().write(insertStatement.toSql());
+
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+
+ return false;
+ }
+
+ private static boolean createTableOdl(SqlDBClient dbService) {
+ String createStatement = null;
+ createStatement = SqlDBMapper.createTableOdl();
+ System.out.println(createStatement);
+ try {
+ return dbService.write(createStatement);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+ return false;
+ }
+
+ private static boolean createTable(SqlDBClient dbService, Class<?> cls, Entity entity, boolean autoIndex) {
+ String createStatement = null;
+ try {
+ createStatement = SqlDBMapper.createTable(cls, entity, "", autoIndex);
+ } catch (UnableToMapClassException e) {
+ fail(e.getMessage());
+ }
+ System.out.println(createStatement);
+ try {
+ return dbService.write(createStatement);
+ } catch (SQLException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+
+ }
+ return false;
+ }
+
+ private static Properties getConfig() {
+ Properties config = new Properties();
+ config.setProperty("org.onap.ccsdk.sli.dbtype", "jdbc");
+ config.setProperty("org.onap.ccsdk.sli.jdbc.hosts", MARIADB_HOST);
+ config.setProperty("org.onap.ccsdk.sli.jdbc.url",
+ String.format("jdbc:mysql://dbhost:%d/%s", MARIADB_PORT, MARIADB_DATABASENAME));
+ config.setProperty("org.onap.ccsdk.sli.jdbc.driver", "org.mariadb.jdbc.Driver");
+ config.setProperty("org.onap.ccsdk.sli.jdbc.database", MARIADB_DATABASENAME);
+ config.setProperty("org.onap.ccsdk.sli.jdbc.user", MARIADB_USERNAME);
+ config.setProperty("org.onap.ccsdk.sli.jdbc.password", MARIADB_PASSWORD);
+ return config;
+ }
+}
diff --git a/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMigrationProvider.java b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMigrationProvider.java
index 311582a08..412c8b857 100644
--- a/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMigrationProvider.java
+++ b/sdnr/wt/data-provider/setup/src/test/java/org/onap/ccsdk/features/sdnr/wt/dataprovider/setup/TestMigrationProvider.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import org.junit.Test;
import org.onap.ccsdk.features.sdnr.wt.common.database.config.HostInfo;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.SdnrDbType;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.DataMigrationReport;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.setup.data.Release;
@@ -41,8 +42,9 @@ public class TestMigrationProvider {
@Test
public void testCreateImport() throws Exception {
- DataMigrationProviderImpl provider = new DataMigrationProviderImpl(hosts, null, null, true, 5000);
- DataMigrationReport report=null;
+ DataMigrationProviderImpl provider =
+ new DataMigrationProviderImpl(SdnrDbType.ELASTICSEARCH, hosts[0].toUrl(), null, null, true, 5000);
+ DataMigrationReport report = null;
try {