Use oparent-odlparent in sli/core
authorDan Timoney <dtimoney@att.com>
Wed, 13 Sep 2017 20:32:45 +0000 (16:32 -0400)
committerDan Timoney <dtimoney@att.com>
Wed, 13 Sep 2017 20:32:45 +0000 (16:32 -0400)
Update sli/core to use oparent-odlparent.  To prevent verify builds from
failing due to unit test errors, also changed unit tests that require
database access to use MariaDB4j to start up a local MariaDB database.

Change-Id: I928b7e1e83bdb328ca9e0785c8b81f67f982eeda
Issue-ID: CCSDK-43
Signed-off-by: Dan Timoney <dtimoney@att.com>
dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolverTest.java [moved from dblib/provider/src/test/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibDefaultFileResolverTest.java with 100% similarity]
dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolverTest.java [moved from dblib/provider/src/test/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibEnvVarFileResolverTest.java with 100% similarity]
dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolverTest.java [moved from dblib/provider/src/test/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibJREFileResolverTest.java with 100% similarity]
dblib/provider/src/test/java/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolverTest.java [moved from dblib/provider/src/test/org/onap/ccsdk/sli/core/dblib/propertiesfileresolver/DblibKarafRootFileResolverTest.java with 100% similarity]
pom.xml
sli/common/pom.xml
sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/ITCaseSvcLogicParser.java
sli/common/src/test/resources/svclogic.properties
sli/provider/pom.xml
sli/provider/src/test/java/org/onap/ccsdk/sli/core/sli/provider/ITCaseSvcLogicGraphExecutor.java

diff --git a/pom.xml b/pom.xml
index 3bf8b1e..469a2a6 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
@@ -13,7 +13,7 @@
        <parent>
                <groupId>org.onap.ccsdk.parent</groupId>
                <artifactId>odlparent-carbon-sr1</artifactId>
-               <version>0.0.1-SNAPSHOT</version>
+               <version>0.0.2-SNAPSHOT</version>
        </parent>
 
        <issueManagement>
index f71ca35..c367dd7 100755 (executable)
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-       <modelVersion>4.0.0</modelVersion>
-       <parent>
-               <artifactId>sli</artifactId>
-               <groupId>org.onap.ccsdk.sli.core</groupId>
-               <version>0.1.2-SNAPSHOT</version>
-       </parent>
-       <artifactId>sli-common</artifactId>
-       <packaging>bundle</packaging>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <parent>
+        <artifactId>sli</artifactId>
+        <groupId>org.onap.ccsdk.sli.core</groupId>
+        <version>0.1.2-SNAPSHOT</version>
+    </parent>
+    <artifactId>sli-common</artifactId>
+    <packaging>bundle</packaging>
 
-       <name>SLI - Common Classes</name>
-       <description>The SLI Common package includes common classes used by the various SLI subcomponents, as well as classes used by clients to interface with the service logic interpreter</description>
+    <name>SLI - Common Classes</name>
+    <description>The SLI Common package includes common classes used by the various SLI subcomponents, as well as classes used by clients to interface with the service logic interpreter</description>
 
-       <dependencies>
-               <dependency>
-                       <groupId>junit</groupId>
-                       <artifactId>junit</artifactId>
-                       <version>3.8.1</version>
-                       <scope>test</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.antlr</groupId>
-                       <artifactId>antlr4</artifactId>
-                       <version>${antlr.version}</version>
-                       <type>jar</type>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-api</artifactId>
-                       <version>${slf4j.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.slf4j</groupId>
-                       <artifactId>slf4j-simple</artifactId>
-                       <version>1.7.5</version>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.apache.commons</groupId>
-                       <artifactId>commons-lang3</artifactId>
-                       <version>${commons.lang3.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.mdsal</groupId>
-                       <artifactId>yang-binding</artifactId>
-                       <version>${odl.mdsal.yang.binding.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.yangtools</groupId>
-                       <artifactId>yang-common</artifactId>
-                       <version>${odl.yangtools.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.mdsal.model</groupId>
-                       <artifactId>ietf-inet-types</artifactId>
-                       <version>${odl.ietf-inet-types.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.mdsal.model</groupId>
-                       <artifactId>ietf-yang-types</artifactId>
-                       <version>${odl.ietf-yang-types.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.controller</groupId>
-                       <artifactId>sal-core-api</artifactId>
-                       <version>${odl.mdsal.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>org.opendaylight.yangtools</groupId>
-                       <artifactId>yang-data-impl</artifactId>
-                       <version>${odl.yangtools.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>equinoxSDK381</groupId>
-                       <artifactId>org.eclipse.osgi</artifactId>
-                       <version>${equinox.osgi.version}</version>
-               </dependency>
-               <dependency>
-                       <groupId>mysql</groupId>
-                       <artifactId>mysql-connector-java</artifactId>
-                       <version>${mysql.connector.version}</version>
-                       <type>jar</type>
-                       <scope>compile</scope>
-               </dependency>
-               <dependency>
-                       <groupId>org.onap.ccsdk.sli.core</groupId>
-                       <artifactId>dblib-provider</artifactId>
-                       <version>${sdnctl.dblib.version}</version>
-               </dependency>
-       </dependencies>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>ch.vorburger.mariaDB4j</groupId>
+            <artifactId>mariaDB4j</artifactId>
+            <version>2.2.3</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.antlr</groupId>
+            <artifactId>antlr4</artifactId>
+            <version>${antlr.version}</version>
+            <type>jar</type>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+            <version>${slf4j.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <version>1.7.5</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+            <version>${commons.lang3.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>yang-binding</artifactId>
+            <version>${odl.mdsal.yang.binding.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-common</artifactId>
+            <version>${odl.yangtools.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal.model</groupId>
+            <artifactId>ietf-inet-types</artifactId>
+            <version>${odl.ietf-inet-types.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal.model</groupId>
+            <artifactId>ietf-yang-types</artifactId>
+            <version>${odl.ietf-yang-types.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.controller</groupId>
+            <artifactId>sal-core-api</artifactId>
+            <version>${odl.mdsal.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.yangtools</groupId>
+            <artifactId>yang-data-impl</artifactId>
+            <version>${odl.yangtools.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>equinoxSDK381</groupId>
+            <artifactId>org.eclipse.osgi</artifactId>
+            <version>${equinox.osgi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>${mysql.connector.version}</version>
+            <type>jar</type>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>dblib-provider</artifactId>
+            <version>${sdnctl.dblib.version}</version>
+        </dependency>
+    </dependencies>
 
-       <build>
-               <plugins>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-compiler-plugin</artifactId>
-                               <configuration>
-                                       <source>1.7</source>
-                                       <target>1.7</target>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.maven.plugins</groupId>
-                               <artifactId>maven-jar-plugin</artifactId>
-                               <version>2.4</version>
-                               <configuration>
-                                       <includes>**/*.xsd</includes>
-                                       <archive>
-                                               <manifest>
-                                                       <mainClass>org.onap.ccsdk.sli.core.sli.SvcLogicParser</mainClass>
-                                                       <packageName>org.onap.ccsdk.sli.core.sli</packageName>
-                                                       <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-                                               </manifest>
-                                       </archive>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.apache.felix</groupId>
-                               <artifactId>maven-bundle-plugin</artifactId>
-                               <extensions>true</extensions>
-                               <configuration>
-                                       <instructions>
-                                               <Export-Package>org.onap.ccsdk.sli.core.sli;version=${project.version}</Export-Package>
-                                               <Import-Package>*</Import-Package>
-                                               <Embed-Dependency>*;scope=compile;artifactId=commons-lang|commons-lang3</Embed-Dependency>
-                                               <Embed-Transitive>true</Embed-Transitive>
-                                       </instructions>
-                               </configuration>
-                       </plugin>
-                       <plugin>
-                               <groupId>org.antlr</groupId>
-                               <artifactId>antlr4-maven-plugin</artifactId>
-                               <version>${antlr.version}</version>
-                               <executions>
-                                       <execution>
-                                               <configuration>
-                                                       <outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
-                                               </configuration>
-                                               <id>antlr</id>
-                                               <goals>
-                                                       <goal>antlr4</goal>
-                                               </goals>
-                                       </execution>
-                               </executions>
-                       </plugin>
-               </plugins>
-       </build>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <includes>**/*.xsd</includes>
+                    <archive>
+                        <manifest>
+                            <mainClass>org.onap.ccsdk.sli.core.sli.SvcLogicParser</mainClass>
+                            <packageName>org.onap.ccsdk.sli.core.sli</packageName>
+                            <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
+                        </manifest>
+                    </archive>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Export-Package>org.onap.ccsdk.sli.core.sli;version=${project.version}</Export-Package>
+                        <Import-Package>*</Import-Package>
+                        <Embed-Dependency>*;scope=compile;artifactId=commons-lang|commons-lang3</Embed-Dependency>
+                        <Embed-Transitive>true</Embed-Transitive>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.antlr</groupId>
+                <artifactId>antlr4-maven-plugin</artifactId>
+                <version>${antlr.version}</version>
+                <executions>
+                    <execution>
+                        <configuration>
+                            <outputDirectory>${project.basedir}/src/main/java/</outputDirectory>
+                        </configuration>
+                        <id>antlr</id>
+                        <goals>
+                            <goal>antlr4</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>
index 0e6000f..07f40a2 100644 (file)
@@ -8,9 +8,9 @@
  * 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.
@@ -20,7 +20,7 @@
  */
 
 /**
- * 
+ *
  */
 package org.onap.ccsdk.sli.core.sli;
 
@@ -28,7 +28,10 @@ import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URL;
+import java.util.Properties;
 
+import ch.vorburger.mariadb4j.DB;
+import ch.vorburger.mariadb4j.DBConfigurationBuilder;
 import junit.framework.TestCase;
 
 /**
@@ -40,22 +43,43 @@ public class ITCaseSvcLogicParser extends TestCase {
        /**
         * Test method for {@link org.onap.ccsdk.sli.core.sli.SvcLogicParser#parse(java.lang.String)}.
         */
-       
-       
+
+
        public void testParse() {
 
-               
+
                try
                {
 
+
+
                        URL propUrl = getClass().getResource("/svclogic.properties");
-                       
+
                        InputStream propStr = getClass().getResourceAsStream("/svclogic.properties");
-                       
-                       SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(propStr);
-                       
+
+                       Properties props = new Properties();
+
+                       props.load(propStr);
+
+
+                       // Start MariaDB4j database
+               DBConfigurationBuilder config = DBConfigurationBuilder.newBuilder();
+               config.setPort(0); // 0 => autom. detect free port
+               DB db = DB.newEmbeddedDB(config.build());
+               db.start();
+
+
+
+                       // Override jdbc URL and database name
+               props.setProperty("org.onap.ccsdk.sli.jdbc.database", "test");
+                       props.setProperty("org.onap.ccsdk.sli.jdbc.url", config.getURL("test"));
+
+
+
+                       SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(props);
+
                        assertNotNull(store);
-                       
+
                        store.registerNodeType("switch");
                        store.registerNodeType("block");
                        store.registerNodeType("get-resource");
@@ -69,15 +93,15 @@ public class ITCaseSvcLogicParser extends TestCase {
                        store.registerNodeType("release");
                        store.registerNodeType("for");
                        store.registerNodeType("set");
-                       
-                       
+
+
                        InputStream testStr = getClass().getResourceAsStream("/parser-good.tests");
                        BufferedReader testsReader = new BufferedReader(new InputStreamReader(testStr));
                        String testCaseFile = null;
                        while ((testCaseFile = testsReader.readLine()) != null) {
-                               
+
                                testCaseFile = testCaseFile.trim();
-                               
+
                                if (testCaseFile.length() > 0)
                                {
                                        if (!testCaseFile.startsWith("/"))
@@ -94,23 +118,23 @@ public class ITCaseSvcLogicParser extends TestCase {
                                                SvcLogicParser.validate(testCaseUrl.getPath(), store);
                                        } catch (Exception e) {
                                                fail("Validation failure ["+e.getMessage()+"]");
-                                               
+
                                        }
 
-                                       
-                                       
-                                       
+
+
+
 
                                }
                        }
-                       
+
                        testStr = getClass().getResourceAsStream("/parser-bad.tests");
                        testsReader = new BufferedReader(new InputStreamReader(testStr));
                        testCaseFile = null;
                        while ((testCaseFile = testsReader.readLine()) != null) {
-                               
+
                                testCaseFile = testCaseFile.trim();
-                               
+
                                if (testCaseFile.length() > 0)
                                {
                                        if (!testCaseFile.startsWith("/"))
@@ -134,7 +158,7 @@ public class ITCaseSvcLogicParser extends TestCase {
                                        if (valid) {
                                                fail("Expected compiler error on "+testCaseFile+", but got success");
                                        }
-                                       
+
 
                                }
                        }
@@ -148,10 +172,10 @@ public class ITCaseSvcLogicParser extends TestCase {
                        e.printStackTrace();
                        fail("Caught exception processing test cases");
                }
-               
-               
+
+
        }
-       
-       
+
+
 
 }
index 25eb3bd..33d7ae6 100644 (file)
@@ -8,9 +8,9 @@
 # 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.
@@ -20,7 +20,7 @@
 ###
 
 org.onap.ccsdk.sli.dbtype = jdbc
-org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://localhost:3306/sdnctl
-org.onap.ccsdk.sli.jdbc.database = sdnctl
-org.onap.ccsdk.sli.jdbc.user = sdnctl
-org.onap.ccsdk.sli.jdbc.password = gamma
+org.onap.ccsdk.sli.jdbc.url = jdbc:mysql://localhost:3306/test
+org.onap.ccsdk.sli.jdbc.database = test
+org.onap.ccsdk.sli.jdbc.user = test
+org.onap.ccsdk.sli.jdbc.password = test123
index f665c56..529f976 100755 (executable)
                        <version>3.8.1</version>
                        <scope>test</scope>
                </dependency>
+        <dependency>
+            <groupId>ch.vorburger.mariaDB4j</groupId>
+            <artifactId>mariaDB4j</artifactId>
+            <version>2.2.3</version>
+            <scope>test</scope>
+        </dependency>
                <dependency>
                        <groupId>org.onap.ccsdk.sli.core</groupId>
                        <artifactId>sli-common</artifactId>
index 5e895aa..cdf837a 100644 (file)
@@ -8,9 +8,9 @@
  * 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.
@@ -31,43 +31,22 @@ import java.util.LinkedList;
 import java.util.Map;
 import java.util.Properties;
 
-import org.onap.ccsdk.sli.core.sli.MetricLogger;
 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;
 import org.onap.ccsdk.sli.core.sli.SvcLogicGraph;
-import org.onap.ccsdk.sli.core.sli.SvcLogicNode;
 import org.onap.ccsdk.sli.core.sli.SvcLogicParser;
 import org.onap.ccsdk.sli.core.sli.SvcLogicStore;
 import org.onap.ccsdk.sli.core.sli.SvcLogicStoreFactory;
-import org.onap.ccsdk.sli.core.sli.provider.BlockNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.CallNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ConfigureNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.DeleteNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ExecuteNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ExistsNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ForNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.GetResourceNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.IsAvailableNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.NotifyNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.RecordNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ReleaseNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ReserveNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.ReturnNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.SaveNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.SetNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.SvcLogicNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.SvcLogicServiceImpl;
-import org.onap.ccsdk.sli.core.sli.provider.SwitchNodeExecutor;
-import org.onap.ccsdk.sli.core.sli.provider.UpdateNodeExecutor;
-import org.osgi.framework.ServiceRegistration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import ch.vorburger.mariadb4j.DB;
+import ch.vorburger.mariadb4j.DBConfigurationBuilder;
 import junit.framework.TestCase;
 
 public class ITCaseSvcLogicGraphExecutor extends TestCase {
        private static final Logger LOG = LoggerFactory
                        .getLogger(SvcLogicGraph.class);
-       
+
        private static final Map<String, SvcLogicNodeExecutor> BUILTIN_NODES = new HashMap<String, SvcLogicNodeExecutor>() {
                {
                        put("block", new BlockNodeExecutor());
@@ -91,19 +70,36 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
 
                }
        };
-       
+
        public void testExecute() {
-               
+
                try {
                        InputStream testStr = getClass().getResourceAsStream("/executor.tests");
                        BufferedReader testsReader = new BufferedReader(new InputStreamReader(testStr));
-                       
+
                        InputStream propStr = getClass().getResourceAsStream("/svclogic.properties");
-                       
-                       SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(propStr);
-                       
+
+                       Properties svcprops = new Properties();
+                       svcprops.load(propStr);
+
+                       // Start MariaDB4j database
+               DBConfigurationBuilder config = DBConfigurationBuilder.newBuilder();
+               config.setPort(0); // 0 => autom. detect free port
+               DB db = DB.newEmbeddedDB(config.build());
+               db.start();
+
+
+
+                       // Override jdbc URL and database name
+               svcprops.setProperty("org.onap.ccsdk.sli.jdbc.database", "test");
+                       svcprops.setProperty("org.onap.ccsdk.sli.jdbc.url", config.getURL("test"));
+
+
+
+                       SvcLogicStore store = SvcLogicStoreFactory.getSvcLogicStore(svcprops);
+
                        assertNotNull(store);
-                       
+
                        store.registerNodeType("switch");
                        store.registerNodeType("block");
                        store.registerNodeType("get-resource");
@@ -118,26 +114,26 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                        store.registerNodeType("for");
                        store.registerNodeType("set");
                        SvcLogicParser parser = new SvcLogicParser(store);
-                       
+
                        // Loop through executor tests
 
                        SvcLogicServiceImpl svc = new SvcLogicServiceImpl();
-                       
+
                        for (String nodeType : BUILTIN_NODES.keySet()) {
 
                                LOG.info("SLI - registering node executor for node type "+nodeType);
-                               
+
                                svc.registerExecutor(nodeType, BUILTIN_NODES.get(nodeType));
 
                        }
                        String testCaseLine = null;
                        while ((testCaseLine = testsReader.readLine()) != null) {
-                               
+
                                String[] testCaseFields = testCaseLine.split(":");
                                String testCaseFile = testCaseFields[0];
                                String testCaseMethod = testCaseFields[1];
                                String testCaseParameters = null;
-                               
+
                                if (testCaseFields.length > 2) {
                                        testCaseParameters = testCaseFields[2];
                                }
@@ -145,7 +141,7 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                                SvcLogicContext ctx = new SvcLogicContext();
                                if (testCaseParameters != null) {
                                        String[] testCaseParameterSettings = testCaseParameters.split(",");
-                                       
+
                                        for (int i = 0 ; i < testCaseParameterSettings.length ; i++) {
                                                String[] nameValue = testCaseParameterSettings[i].split("=");
                                                if (nameValue != null) {
@@ -154,14 +150,14 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                                                        if (nameValue.length > 1) {
                                                                value = nameValue[1];
                                                        }
-                                                       
+
                                                        ctx.setAttribute(name,  value);
                                                }
                                        }
                                }
-                               
+
                                testCaseFile = testCaseFile.trim();
-                               
+
                                if (testCaseFile.length() > 0) {
                                        if (!testCaseFile.startsWith("/")) {
                                                testCaseFile = "/"+testCaseFile;
@@ -170,12 +166,12 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                                        if (testCaseUrl == null) {
                                                fail("Could not resolve test case file "+testCaseFile);
                                        }
-                                       
+
                                        LinkedList<SvcLogicGraph> graphs = parser.parse(testCaseUrl.getPath());
-                                       
+
 
                                        assertNotNull(graphs);
-                                       
+
                                        for (SvcLogicGraph graph: graphs) {
                                                if (graph.getRpc().equals(testCaseMethod)) {
                                                        Properties props = ctx.toProperties();
@@ -184,9 +180,9 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                                                                String propName = (String) e1.nextElement();
                                                                LOG.info(propName+" = "+props.getProperty(propName));
                                                        }
-                                                       
+
                                                        svc.execute(graph, ctx);
-                                                       
+
                                                        props = ctx.toProperties();
                                                        LOG.info("SvcLogicContext after executing "+testCaseMethod+":");
                                                        for (Enumeration e2 = props.propertyNames(); e2.hasMoreElements() ; ) {
@@ -197,16 +193,16 @@ public class ITCaseSvcLogicGraphExecutor extends TestCase {
                                        }
 
                                }
-                               
-                               
+
+
                        }
-                       
-                       
+
+
                } catch (Exception e) {
                        LOG.error("Caught exception executing directed graphs", e);
                        fail("Exception executing graphs");
                }
        }
 
-       
+
 }