Use CadiFilter instead of shiro
[ccsdk/apps.git] / ms / sliboot / pom.xml
index 3d8fa7b..9f43ca1 100644 (file)
@@ -5,29 +5,33 @@
     <parent>
         <groupId>org.onap.ccsdk.parent</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>2.0.1-SNAPSHOT</version>
+        <version>2.2.0-SNAPSHOT</version>
         <relativePath/>
     </parent>
 
     <groupId>org.onap.ccsdk.apps</groupId>
     <artifactId>sliboot</artifactId>
-    <version>1.0.1-SNAPSHOT</version>
+    <version>1.2.0-SNAPSHOT</version>
     <packaging>jar</packaging>
 
     <name>ccsdk-apps :: sliboot :: ${project.artifactId}</name>
 
     <properties>
-        <start-class>org.onap.ccsdk.apps.ms.sliboot.App</start-class>
-        <shiro.version>1.5.0</shiro.version>
-        <aaf-shiro-bundle.version>2.1.13</aaf-shiro-bundle.version>
-        <base.image.name>onap/ccsdk-alpine-image</base.image.name>
+        <start-class>org.onap.ccsdk.apps.ms.sliboot.SlibootApp</start-class>
+        <aaf.cadi.version>2.1.21</aaf.cadi.version>
+        <base.image.name>onap/ccsdk-alpine-j11-image</base.image.name>
+        <base.image.version>1.1.1</base.image.version>
         <image.name>onap/ccsdk-sliboot-alpine-image</image.name>
         <ccsdk.project.version>${project.version}</ccsdk.project.version>
+        <ccsdk.distribution.version>1.1.0</ccsdk.distribution.version>
         <ccsdk.build.timestamp>${maven.build.timestamp}</ccsdk.build.timestamp>
         <maven.build.timestamp.format>yyyyMMdd'T'HHmmss'Z'</maven.build.timestamp.format>
-        <ccsdk.sliboot.jar>${project.artifactId}-${project.version}.jar</ccsdk.sliboot.jar>
+        <ccsdk.sliboot.jar>${project.artifactId}-${project.version}-exec.jar</ccsdk.sliboot.jar>
         <docker.push.phase>deploy</docker.push.phase>
         <docker.verbose>true</docker.verbose>
+        <docker.autoCreateCustomNetworks>true</docker.autoCreateCustomNetworks>
+        <java.home>/opt/java/openjdk</java.home>
+        <java.security.dir>${java.home}/lib/security</java.security.dir>
     </properties>
 
     <dependencies>
             <groupId>io.swagger</groupId>
             <artifactId>swagger-annotations</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.apache.shiro</groupId>
-            <artifactId>shiro-spring-boot-web-starter</artifactId>
-            <version>${shiro.version}</version>
+               <dependency>
+                       <groupId>org.springframework.boot</groupId>
+                       <artifactId>spring-boot-starter-web</artifactId>
             <exclusions>
                 <exclusion>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-logging</artifactId>
                 </exclusion>
             </exclusions>
-        </dependency>
+               </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-log4j2</artifactId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-validation</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.onap.aaf.cadi</groupId>
-            <artifactId>aaf-cadi-shiro</artifactId>
-            <version>${aaf-shiro-bundle.version}</version>
-        </dependency>
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-test</artifactId>
             <artifactId>springfox-swagger-ui</artifactId>
             <version>2.9.2</version>
         </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-cadi-client</artifactId>
+            <version>${aaf.cadi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-cadi-core</artifactId>
+            <version>${aaf.cadi.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-auth-client</artifactId>
+            <version>${aaf.cadi.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-misc-env</artifactId>
+            <version>${aaf.cadi.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.aaf.authz</groupId>
+            <artifactId>aaf-misc-rosetta</artifactId>
+            <version>${aaf.cadi.version}</version>
+            <scope>runtime</scope>
+        </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
             <artifactId>services</artifactId>
             <groupId>javax.ws.rs</groupId>
             <artifactId>javax.ws.rs-api</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.sli.core</groupId>
+            <artifactId>sliapi-model-swagger</artifactId>
+            <version>${ccsdk.sli.core.version}</version>
+            <type>yaml</type>
+        </dependency>
         <dependency>
             <groupId>org.onap.ccsdk.sli.core</groupId>
             <artifactId>sliPluginUtils-provider</artifactId>
                         <id>get-sliapi-yaml</id>
                         <phase>initialize</phase>
                         <goals>
-                            <goal>copy</goal>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/yaml</outputDirectory>
+                            <useRepositoryLayout>false</useRepositoryLayout>
+                            <includeTypes>yaml</includeTypes>
+                            <stripVersion>true</stripVersion>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <excludeTransitive>true</excludeTransitive>
+                            <excludeTypes>yaml</excludeTypes>
+                            <outputDirectory>${project.build.directory}/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>false</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>unpack dgs</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>unpack</goal>
                         </goals>
                         <configuration>
+                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
                             <artifactItems>
                                 <artifactItem>
-                                    <groupId>org.onap.ccsdk.sli.core</groupId>
-                                    <artifactId>sliapi-model-swagger</artifactId>
-                                    <version>${ccsdk.sli.core.version}</version>
-                                    <type>yaml</type>
-                                    <outputDirectory>${project.build.directory}/yaml</outputDirectory>
-                                    <destFileName>sliapi.yaml</destFileName>
+                                    <groupId>org.onap.ccsdk.distribution</groupId>
+                                    <artifactId>platform-logic-installer</artifactId>
+                                    <version>${ccsdk.distribution.version}</version>
+                                    <type>zip</type>
                                 </artifactItem>
                             </artifactItems>
                         </configuration>
                 <version>2.3.1</version>
                 <executions>
                     <execution>
+                        <phase>generate-sources</phase>
                         <goals>
                             <goal>generate</goal>
                         </goals>
                         <configuration>
                             <output>target/generated-sources</output>
-                            <inputSpec>${project.build.directory}/yaml/sliapi.yaml</inputSpec>
+                            <inputSpec>${project.build.directory}/yaml/sliapi-model-swagger.yaml</inputSpec>
                             <language>spring</language>
                             <apiPackage>org.onap.ccsdk.apps.ms.sliboot.swagger</apiPackage>
                             <modelPackage>org.onap.ccsdk.apps.ms.sliboot.swagger.model</modelPackage>
             <plugin>
                 <groupId>org.springframework.boot</groupId>
                 <artifactId>spring-boot-maven-plugin</artifactId>
+                <configuration>
+                    <classifier>exec</classifier>
+                </configuration>
                 <executions>
                     <execution>
                         <goals>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.19.1</version>
+                <configuration>
+                    <environmentVariables>
+                        <SDNC_CONFIG_DIR>${basedir}/src/test/resources</SDNC_CONFIG_DIR>
+                        <SVCLOGIC_PROPERTIES>${basedir}/src/test/resources/svclogic.properties</SVCLOGIC_PROPERTIES>
+                    </environmentVariables>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <executions>
+                  <execution>
+                    <goals>
+                      <goal>integration-test</goal>
+                      <goal>verify</goal>
+                    </goals>
+                  </execution>
+                </executions>
+                <configuration>
+                  <skipITs>true</skipITs>
+                </configuration>
+              </plugin>
+              <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <executions>
+                    <execution>
+                        <id>copy-dockerfile</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>initialize</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/docker</directory>
+                                    <includes>
+                                        <include>Dockerfile</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-config</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/config</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources</directory>
+                                    <includes>
+                                        <include>*.properties</include>
+                                        <include>*.props</include>
+                                        <include>*.sql</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                                <resource>
+                                    <directory>src/main/resources</directory>
+                                    <includes>
+                                        <include>*.keyfile</include>
+                                        <include>*.jks</include>
+                                        <include>*.p12</include>
+                                    </includes>
+                                    <filtering>false</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-script</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>generate-resources</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>src/main/resources</directory>
+                                    <includes>
+                                        <include>*.sh</include>
+                                    </includes>
+                                    <filtering>true</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                    <execution>
+                        <id>copy-jar</id>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals><!-- here the phase you need -->
+                        <phase>package</phase>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
+                            <resources>
+                                <resource>
+                                    <directory>${basedir}/target</directory>
+                                    <includes>
+                                        <include>${ccsdk.sliboot.jar}</include>
+                                    </includes>
+                                    <filtering>false</filtering>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
         </plugins>
     </build>
                 <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <version>2.10</version>
-
+                        <artifactId>maven-failsafe-plugin</artifactId>
                         <executions>
-                            <execution>
-                                <id>copy-dependencies</id>
-                                <goals>
-                                    <goal>copy-dependencies</goal>
-                                </goals>
-                                <phase>prepare-package</phase>
-                                <configuration>
-                                    <excludeTransitive>true</excludeTransitive>
-                                    <outputDirectory>${project.build.directory}/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
-                                    <overWriteReleases>false</overWriteReleases>
-                                    <overWriteSnapshots>true</overWriteSnapshots>
-                                    <overWriteIfNewer>true</overWriteIfNewer>
-                                    <useRepositoryLayout>false</useRepositoryLayout>
-                                    <addParentPoms>false</addParentPoms>
-                                    <copyPom>false</copyPom>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>unpack dgs</id>
-                                <phase>generate-sources</phase>
-                                <goals>
-                                    <goal>unpack</goal>
-                                </goals>
-                                <configuration>
-                                    <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk</outputDirectory>
-                                    <artifactItems>
-                                        <artifactItem>
-                                            <groupId>org.onap.ccsdk.distribution</groupId>
-                                            <artifactId>platform-logic-installer</artifactId>
-                                            <version>${project.version}</version>
-                                            <type>zip</type>
-                                        </artifactItem>
-                                    </artifactItems>
-                                </configuration>
-                            </execution>
+                          <execution>
+                            <goals>
+                              <goal>integration-test</goal>
+                              <goal>verify</goal>
+                            </goals>
+                          </execution>
                         </executions>
-                    </plugin>
-                    <plugin>
-                        <artifactId>maven-resources-plugin</artifactId>
-                        <version>2.6</version>
-                        <executions>
-                            <execution>
-                                <id>copy-dockerfile</id>
-                                <goals>
-                                    <goal>copy-resources</goal>
-                                </goals><!-- here the phase you need -->
-                                <phase>initialize</phase>
-                                <configuration>
-                                    <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
-                                    <resources>
-                                        <resource>
-                                            <directory>src/main/docker</directory>
-                                            <includes>
-                                                <include>Dockerfile</include>
-                                            </includes>
-                                            <filtering>true</filtering>
-                                        </resource>
-                                    </resources>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>copy-config</id>
-                                <goals>
-                                    <goal>copy-resources</goal>
-                                </goals><!-- here the phase you need -->
-                                <phase>generate-resources</phase>
-                                <configuration>
-                                    <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/config</outputDirectory>
-                                    <resources>
-                                        <resource>
-                                            <directory>src/main/resources</directory>
-                                            <includes>
-                                                <include>*.properties</include>
-                                                <include>*.props</include>
-                                                <include>*.sql</include>
-                                            </includes>
-                                            <filtering>true</filtering>
-                                        </resource>
-                                        <resource>
-                                            <directory>src/main/resources</directory>
-                                            <includes>
-                                                <include>*.keyfile</include>
-                                                <include>*.jks</include>
-                                                <include>*.p12</include>
-                                            </includes>
-                                            <filtering>false</filtering>
-                                        </resource>
-                                    </resources>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>copy-script</id>
-                                <goals>
-                                    <goal>copy-resources</goal>
-                                </goals><!-- here the phase you need -->
-                                <phase>generate-resources</phase>
-                                <configuration>
-                                    <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/bin</outputDirectory>
-                                    <resources>
-                                        <resource>
-                                            <directory>src/main/resources</directory>
-                                            <includes>
-                                                <include>*.sh</include>
-                                            </includes>
-                                            <filtering>true</filtering>
-                                        </resource>
-                                    </resources>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>copy-jar</id>
-                                <goals>
-                                    <goal>copy-resources</goal>
-                                </goals><!-- here the phase you need -->
-                                <phase>package</phase>
-                                <configuration>
-                                    <outputDirectory>${basedir}/target/docker-stage/opt/onap/ccsdk/lib</outputDirectory>
-                                    <resources>
-                                        <resource>
-                                            <directory>${basedir}/target</directory>
-                                            <includes>
-                                                <include>${ccsdk.sliboot.jar}</include>
-                                            </includes>
-                                            <filtering>false</filtering>
-                                        </resource>
-                                    </resources>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
+                        <configuration>
+                          <skipITs>false</skipITs>
+                          <environmentVariables>
+                            <SLIBOOT_PORT>${sliboot.port}</SLIBOOT_PORT>
+                          </environmentVariables>
+                        </configuration>
+                      </plugin>
                     <plugin>
                         <groupId>io.fabric8</groupId>
                         <artifactId>docker-maven-plugin</artifactId>
                                     <goal>build</goal>
                                 </goals>
                             </execution>
-
+        
+                            <execution>
+                                <id>start-it-instance</id>
+                                <phase>pre-integration-test</phase>
+                                <goals>
+                                    <goal>start</goal>
+                                </goals>
+                                <configuration>
+                                    <images>
+                                        <image>
+                                            <name>mariadb:10.5</name>
+                                            <alias>slibootdb</alias>
+                                            <run>
+                                                <env>
+                                                    <MYSQL_ROOT_PASSWORD>itsASecret</MYSQL_ROOT_PASSWORD>
+                                                    <MYSQL_USER>sli</MYSQL_USER>
+                                                    <MYSQL_PASSWORD>abc123</MYSQL_PASSWORD>
+                                                    <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE>
+                                                </env>
+                                                <network>
+                                                    <mode>custom</mode>
+                                                    <name>onap</name>
+                                                    <alias>dbhost</alias>
+                                                </network>
+                                                <ports>
+                                                    <port>slibootdb.port:3306</port>
+                                                </ports>
+                                                <log>
+                                                    <enabled>true</enabled>
+                                                </log>
+                                            </run>
+                                        </image>
+                                        <image>
+                                            <name>${image.name}:${project.docker.latesttagtimestamp.version}</name>
+                                            <alias>sliboot-container</alias>
+                                            <run>
+                                                <env>
+                                                    <MYSQL_USER>sli</MYSQL_USER>
+                                                    <MYSQL_PASSWORD>abc123</MYSQL_PASSWORD>
+                                                    <MYSQL_DATABASE>sdnctl</MYSQL_DATABASE>
+                                                    <SDNC_CONFIG_DIR>/opt/onap/ccsdk/config</SDNC_CONFIG_DIR>
+                                                </env>
+                                                <dependsOn>
+                                                    <container>slibootdb</container>
+                                                </dependsOn>
+                                                <network>
+                                                    <mode>custom</mode>
+                                                    <name>onap</name>
+                                                    <alias>sliboot</alias>
+                                                </network>
+                                                <ports>
+                                                    <port>sliboot.port:8080</port>
+                                                </ports>
+                                                <wait>
+                                                    <log>Started SlibootApp</log>
+                                                    <time>120000</time>
+                                                </wait>
+                                                <log>
+                                                    <enabled>true</enabled>
+                                                </log>
+                                            </run>
+                                        </image>
+                                    </images>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>stop-it-instance</id>
+                                <phase>post-integration-test</phase>
+                                <goals>
+                                    <goal>stop</goal>
+                                </goals>
+                            </execution>
                             <execution>
                                 <id>push-images</id>
                                 <phase>${docker.push.phase}</phase>
                             </execution>
                         </executions>
                     </plugin>
+
                 </plugins>
             </build>
         </profile>