diff options
author | Dushyant Singh Thakur <dt00503496@techmahindra.com> | 2018-03-22 19:00:36 +0530 |
---|---|---|
committer | Dushyant Singh Thakur <dt00503496@techmahindra.com> | 2018-03-23 14:49:54 +0530 |
commit | 9f93b09a9d7a55f8e9450a2ee3b14d6317eb1ceb (patch) | |
tree | 4cd2da899a5ce803ad761d38d70b7a5d5375a7f0 | |
parent | 7025b737e3a187326951d82fcf76e33274505e3b (diff) |
Certification module
Pretest validation certification service
Issue-ID: SDNC-264
Change-Id: I778c55c1e367c57420c7d62123650d60d5656678
Signed-off-by: Dushyant Singh Thakur <dt00503496@techmahindra.com>
61 files changed, 4058 insertions, 0 deletions
diff --git a/SDNCReports/.project b/SDNCReports/.project new file mode 100644 index 0000000..03bfd1e --- /dev/null +++ b/SDNCReports/.project @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>sdnc_reports</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + </natures> +</projectDescription> diff --git a/SDNCReports/pom.xml b/SDNCReports/pom.xml new file mode 100644 index 0000000..f985675 --- /dev/null +++ b/SDNCReports/pom.xml @@ -0,0 +1,19 @@ +<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> + <groupId>com.sdnc.reports</groupId> + <artifactId>sdnc_reports</artifactId> + <version>0.0.1-SNAPSHOT</version> + <packaging>pom</packaging> + + <parent> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-parent</artifactId> + <version>1.5.4.RELEASE</version> + </parent> + + + <modules> + <module>sdnc_reports_dao</module> + <module>sdnc_reports_certification</module> + </modules> +</project>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/.classpath b/SDNCReports/sdnc_reports_certification/.classpath new file mode 100644 index 0000000..a6c7ef0 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.classpath @@ -0,0 +1,106 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="src" path="src/main/java" including="**/*.java"/> + <classpathentry kind="src" path="src/main/resources" excluding="**/*.java|**/application*.yml|**/application*.yaml|**/application*.properties"/> + <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="var" path="M2_REPO/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar"/> + <classpathentry kind="var" path="M2_REPO/javax/ws/rs/jsr311-api/1.1.1/jsr311-api-1.1.1.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + <classpathentry kind="var" path="M2_REPO/org/mariadb/jdbc/mariadb-java-client/1.1.9/mariadb-java-client-1.1.9.jar"/> + <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/4.2.2/jna-4.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/net/java/dev/jna/jna/3.3.0/jna-3.3.0-platform.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-dbcp/commons-dbcp/1.4/commons-dbcp-1.4.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-pool/commons-pool/1.6/commons-pool-1.6.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-thymeleaf/1.5.4.RELEASE/spring-boot-starter-thymeleaf-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar"/> + <classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-web/1.5.4.RELEASE/spring-boot-starter-web-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-tomcat/1.5.4.RELEASE/spring-boot-starter-tomcat-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/embed/tomcat-embed-core/8.5.15/tomcat-embed-core-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/embed/tomcat-embed-el/8.5.15/tomcat-embed-el-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.15/tomcat-embed-websocket-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE.jar" sourcepath="M2_REPO/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-webmvc/4.3.9.RELEASE/spring-webmvc-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/thymeleaf/thymeleaf-spring4/2.1.5.RELEASE/thymeleaf-spring4-2.1.5.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/thymeleaf/thymeleaf/2.1.5.RELEASE/thymeleaf-2.1.5.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/ognl/ognl/3.0.8/ognl-3.0.8.jar"/> + <classpathentry kind="var" path="M2_REPO/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar"/> + <classpathentry kind="var" path="M2_REPO/org/unbescape/unbescape/1.1.0.RELEASE/unbescape-1.1.0.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/nz/net/ultraq/thymeleaf/thymeleaf-layout-dialect/1.4.0/thymeleaf-layout-dialect-1.4.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/codehaus/groovy/groovy/2.4.11/groovy-2.4.11.jar"/> + <classpathentry kind="var" path="M2_REPO/com/sdnc/reports/sdnc_reports_dao/0.0.1-SNAPSHOT/sdnc_reports_dao-0.0.1-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-data-jpa/1.5.4.RELEASE/spring-boot-starter-data-jpa-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-aop/1.5.4.RELEASE/spring-boot-starter-aop-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-jdbc/1.5.4.RELEASE/spring-boot-starter-jdbc-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-jdbc/8.5.15/tomcat-jdbc-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-juli/8.5.15/tomcat-juli-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-jdbc/4.3.9.RELEASE/spring-jdbc-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/4.3.9.RELEASE/spring-tx-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/5.0.12.Final/hibernate-core-5.0.12.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jboss/jandex/2.0.0.Final/jandex-2.0.0.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/common/hibernate-commons-annotations/5.0.1.Final/hibernate-commons-annotations-5.0.1.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-jpa/1.11.4.RELEASE/spring-data-jpa-1.11.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-commons/1.13.4.RELEASE/spring-data-commons-1.13.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-orm/4.3.9.RELEASE/spring-orm-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aspects/4.3.9.RELEASE/spring-aspects-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-entitymanager/5.0.12.Final/hibernate-entitymanager-5.0.12.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/json/json/20180130/json-20180130.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/embed/tomcat-embed-jasper/8.5.15/tomcat-embed-jasper-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/eclipse/jdt/ecj/3.12.3/ecj-3.12.3.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-swagger-ui/2.2.2/springfox-swagger-ui-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-spring-web/2.2.2/springfox-spring-web-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/guava/guava/18.0/guava-18.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/aspectj/aspectjrt/1.8.10/aspectjrt-1.8.10.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/plugin/spring-plugin-core/1.2.0.RELEASE/spring-plugin-core-1.2.0.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/plugin/spring-plugin-metadata/1.2.0.RELEASE/spring-plugin-metadata-1.2.0.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/hateoas/spring-hateoas/0.23.0.RELEASE/spring-hateoas-0.23.0.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-spi/2.2.2/springfox-spi-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-core/2.2.2/springfox-core-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-schema/2.2.2/springfox-schema-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-swagger2/2.2.2/springfox-swagger2-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/mapstruct/mapstruct/1.0.0.CR1/mapstruct-1.0.0.CR1.jar"/> + <classpathentry kind="var" path="M2_REPO/io/swagger/swagger-annotations/1.5.3/swagger-annotations-1.5.3.jar"/> + <classpathentry kind="var" path="M2_REPO/io/swagger/swagger-models/1.5.3/swagger-models-1.5.3.jar"/> + <classpathentry kind="var" path="M2_REPO/io/springfox/springfox-swagger-common/2.2.2/springfox-swagger-common-2.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-actuator/1.5.4.RELEASE/spring-boot-starter-actuator-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-actuator/1.5.4.RELEASE/spring-boot-actuator-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.8.8/jackson-module-jaxb-annotations-2.8.8.jar"/> + <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-client/1.19.4/jersey-client-1.19.4.jar"/> + <classpathentry kind="var" path="M2_REPO/com/sun/jersey/jersey-core/1.19.4/jersey-core-1.19.4.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-data-rest/1.5.4.RELEASE/spring-boot-starter-data-rest-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-rest-webmvc/2.6.4.RELEASE/spring-data-rest-webmvc-2.6.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-rest-core/2.6.4.RELEASE/spring-data-rest-core-2.6.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/atteo/evo-inflector/1.2.2/evo-inflector-1.2.2.jar"/> + <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-all/1.9.5/mockito-all-1.9.5.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.11/junit-4.11.jar" sourcepath="M2_REPO/junit/junit/4.11/junit-4.11-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/code/gson/gson/2.8.2/gson-2.8.2.jar"/> +</classpath>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/.gitignore b/SDNCReports/sdnc_reports_certification/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/SDNCReports/sdnc_reports_certification/.project b/SDNCReports/sdnc_reports_certification/.project new file mode 100644 index 0000000..85911d1 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.project @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>sdnc_reports_certification</name> + <comment>com.sdnc.reports. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>org.springframework.ide.eclipse.core.springbuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.springframework.ide.eclipse.core.springnature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + </natures> +</projectDescription>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.core.resources.prefs b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/<project>=UTF-8 diff --git a/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.jdt.core.prefs b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..6e80039 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.m2e.core.prefs b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.wst.common.project.facet.core.xml b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..f4ef8aa --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <installed facet="java" version="1.8"/> +</faceted-project> diff --git a/SDNCReports/sdnc_reports_certification/pom.xml b/SDNCReports/sdnc_reports_certification/pom.xml new file mode 100644 index 0000000..aba5b57 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/pom.xml @@ -0,0 +1,192 @@ +<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> + <groupId>com.sdnc.reports</groupId> + <artifactId>sdnc_reports</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + <artifactId>sdnc_reports_certification</artifactId> + <name>com.sdnc.reports</name> + <description>com.sdnc.reports</description> + + <properties> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> + <java.version>1.8</java.version> + </properties> + <dependencies> + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <version>1.1.9</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-thymeleaf</artifactId> + </dependency> + <dependency> + <groupId>com.sdnc.reports</groupId> + <artifactId>sdnc_reports_dao</artifactId> + <version>0.0.1-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-jpa</artifactId> + <!-- <exclusions> <exclusion> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> + </exclusion> </exclusions> --> + </dependency> + <!-- <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> + </dependency> --> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + </dependency> + <!-- https://mvnrepository.com/artifact/org.json/json --> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20180130</version> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-web</artifactId> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>org.apache.tomcat.embed</groupId> + <artifactId>tomcat-embed-jasper</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-webmvc</artifactId> + </dependency> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger-ui</artifactId> + <version>2.2.2</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>io.springfox</groupId> + <artifactId>springfox-swagger2</artifactId> + <version>2.2.2</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-actuator</artifactId> + </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.module</groupId> + <artifactId>jackson-module-jaxb-annotations</artifactId> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.sun.jersey/jersey-client --> + <dependency> + <groupId>com.sun.jersey</groupId> + <artifactId>jersey-client</artifactId> + <version>1.19.4</version> + </dependency> + + + <dependency> + <groupId>io.swagger</groupId> + <artifactId>swagger-annotations</artifactId> + <version>1.5.3</version> + <!-- <type>bundle</type> --> + </dependency> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-rest</artifactId> + </dependency> + + <!-- <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> + <version>4.1.4.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> <version>5.2.3.Final</version> + </dependency> --> + + + <dependency> + <groupId>org.mockito</groupId> + <artifactId>mockito-all</artifactId> + <version>1.9.5</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.11</version> + </dependency> + + <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> + <dependency> + <groupId>com.google.code.gson</groupId> + <artifactId>gson</artifactId> + <version>2.8.2</version> + </dependency> + + </dependencies> + + <build> + + <plugins> + + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + + <!-- <configuration> <mainClass>${start-class}</mainClass> <layout>ZIP</layout> + </configuration> <executions> <execution> <goals> <goal>repackage</goal> + </goals> </execution> </executions> --> + </plugin> + + <plugin> + <groupId>org.jacoco</groupId> + <artifactId>jacoco-maven-plugin</artifactId> + <version>0.7.5.201505241946</version> + <executions> + <!-- Prepares the property pointing to the JaCoCo runtime agent which + is passed as VM argument when Maven the Surefire plugin is executed. --> + <execution> + <id>pre-unit-test</id> + <goals> + <goal>prepare-agent</goal> + </goals> + <configuration> + <!-- Sets the path to the file which contains the execution data. --> + <destFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</destFile> + <!-- Sets the name of the property containing the settings for JaCoCo + runtime agent. --> + <propertyName>surefireArgLine</propertyName> + </configuration> + </execution> + <!-- Ensures that the code coverage report for unit tests is created + after unit tests have been run. --> + <execution> + <id>post-unit-test</id> + <phase>test</phase> + <goals> + <goal>report</goal> + </goals> + <configuration> + <!-- Sets the path to the file which contains the execution data. --> + <dataFile>${project.build.directory}/coverage-reports/jacoco-ut.exec</dataFile> + <!-- Sets the output directory for the code coverage report. --> + <outputDirectory>${project.reporting.outputDirectory}/jacoco-ut</outputDirectory> + </configuration> + </execution> + </executions> +</plugin> + + + </plugins> + + </build> +</project>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java new file mode 100644 index 0000000..e1a54a3 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/Application.java @@ -0,0 +1,40 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.domain.EntityScan; +import org.springframework.data.jpa.repository.config.EnableJpaRepositories; + +@SpringBootApplication +//@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class,HibernateJpaAutoConfiguration.class}) +@EnableJpaRepositories("com.onap.sdnc.reports.repository") +@EntityScan("com.onap.sdnc.*") +@EnableAutoConfiguration +public class Application { + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java new file mode 100644 index 0000000..8e0ac72 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/ServletInitializer.java @@ -0,0 +1,36 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi; + +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.support.SpringBootServletInitializer; + + + +public class ServletInitializer extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(Application.class); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java new file mode 100644 index 0000000..80710c9 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/controller/TestController.java @@ -0,0 +1,53 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.controller; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.MediaType; +import org.springframework.web.bind.annotation.CrossOrigin; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RestController; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.service.LayerTestService; + +@CrossOrigin +@RestController +public class TestController { + + @Autowired + LayerTestService ltService; + + @RequestMapping(value="/runtest",method=RequestMethod.POST, consumes="application/json",produces=MediaType.APPLICATION_JSON_VALUE) + public Response findReportByTestName(@RequestBody Request req) { + + return ltService.networkCertification(req); + } + + @RequestMapping(value="/ping",method=RequestMethod.GET) + public String pingService() { + + return "success"; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java new file mode 100644 index 0000000..e0a4e6a --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/CertificationInputs.java @@ -0,0 +1,35 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class CertificationInputs { + + private Input input; + + public Input getInput () + { + return input; + } + + public void setInput (Input input) + { + this.input = input; + } +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java new file mode 100644 index 0000000..9d4cdb5 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Input.java @@ -0,0 +1,77 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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========================================================= + */ +public class Input { + + private String ipaddress; + private String hostname; + private String network; + + public String getHostname() { + return hostname; + } + + public void setHostname(String hostname) { + this.hostname = hostname; + } + + + public String getIpaddress () + { + return ipaddress; + } + + public void setIpaddress (String ipaddress) + { + this.ipaddress = ipaddress; + } + + public String getNetwork() { + return network; + } + + public void setNetwork(String network) { + this.network = network; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java new file mode 100644 index 0000000..3911a10 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ODLClientResponse.java @@ -0,0 +1,35 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class ODLClientResponse { + private Output output; + + public Output getOutput () + { + return output; + } + + public void setOutput (Output output) + { + this.output = output; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java new file mode 100644 index 0000000..c771195 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Output.java @@ -0,0 +1,102 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class Output { + + private String status; + + private String testresult; + + private String hostname; + + private String ipaddress; + + private String statistics; + + private String avgTime; + + private String reason; + + public String getStatus () + { + return status; + } + + public String getStatistics() { + return statistics; + } + + public void setStatistics(String statistics) { + this.statistics = statistics; + } + + public void setStatus (String status) + { + this.status = status; + } + + public String getTestresult () + { + return testresult; + } + + public void setTestresult (String testresult) + { + this.testresult = testresult; + } + + public String getHostname () + { + return hostname; + } + + public void setHostname (String hostname) + { + this.hostname = hostname; + } + + public String getIpaddress () + { + return ipaddress; + } + + public void setIpaddress (String ipaddress) + { + this.ipaddress = ipaddress; + } + + public String getAvgTime() { + return avgTime; + } + + public void setAvgTime(String avgTime) { + this.avgTime = avgTime; + } + + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java new file mode 100644 index 0000000..9daf673 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/PreTestResponse.java @@ -0,0 +1,75 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class PreTestResponse { + + private String ipaddress; + private String status; + private String testtype; + private String statistics; + private String avgTime; + + public PreTestResponse() { + + } + + public String getStatus() { + return status; + } + public void setStatus(String status) { + this.status = status; + } + public String getIpaddress() { + return ipaddress; + } + public void setIpaddress(String ipaddress) { + this.ipaddress = ipaddress; + } + + public String getTesttype() { + return testtype; + } + + public void setTesttype(String testtype) { + this.testtype = testtype; + } + + public String getStatistics() { + return statistics; + } + + public void setStatistics(String statistics) { + this.statistics = statistics; + } + + public String getAvgTime() { + return avgTime; + } + + public void setAvgTime(String avgTime) { + this.avgTime = avgTime; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java new file mode 100644 index 0000000..13721e1 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Request.java @@ -0,0 +1,43 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class Request { + + private VnfList[] vnfList; + + private ValidationTestType[] validationTestType; + + public VnfList[] getVnfList() { + return vnfList; + } + + public void setVnfList(VnfList[] vnfList) { + this.vnfList = vnfList; + } + + public ValidationTestType[] getValidationTestType() { + return validationTestType; + } + + public void setValidationTestType(ValidationTestType[] validationTestType) { + this.validationTestType = validationTestType; + } +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java new file mode 100644 index 0000000..0742957 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Response.java @@ -0,0 +1,41 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonInclude; + +@JsonInclude(JsonInclude.Include.NON_NULL) +public class Response { + + private List<PreTestResponse> preTestResponse; + + public List<PreTestResponse> getPreTestResponse() { + return preTestResponse; + } + + public void setPreTestResponse(List<PreTestResponse> preTestResponse) { + this.preTestResponse = preTestResponse; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java new file mode 100644 index 0000000..1508186 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/ValidationTestType.java @@ -0,0 +1,49 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class ValidationTestType +{ + private String validationType; + + private String typeId; + + public String getValidationType () + { + return validationType; + } + + public void setValidationType (String validationType) + { + this.validationType = validationType; + } + + public String getTypeId () + { + return typeId; + } + + public void setTypeId (String typeId) + { + this.typeId = typeId; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java new file mode 100644 index 0000000..595578f --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/Vnf.java @@ -0,0 +1,49 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class Vnf { + + private VnfList[] vnfList; + + private ValidationTestType[] validationTestType; + + public VnfList[] getVnfList () + { + return vnfList; + } + + public void setVnfList (VnfList[] vnfList) + { + this.vnfList = vnfList; + } + + public ValidationTestType[] getValidationTestType () + { + return validationTestType; + } + + public void setValidationTestType (ValidationTestType[] validationTestType) + { + this.validationTestType = validationTestType; + } + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java new file mode 100644 index 0000000..c3ae86b --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/model/VnfList.java @@ -0,0 +1,56 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.testapi.model; + +public class VnfList<List> { + + private String portNo; + + private String ipAddress; + + private String hostName; + + public String getPortNo() { + return portNo; + } + + public void setPortNo(String portNo) { + this.portNo = portNo; + } + + public String getIpAddress() { + return ipAddress; + } + + public void setIpAddress(String ipAddress) { + this.ipAddress = ipAddress; + } + + public String getHostName() { + return hostName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + + + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java new file mode 100644 index 0000000..340905d --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/CertificationClientService.java @@ -0,0 +1,173 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.service; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.InetAddress; +import java.net.Socket; +import java.net.UnknownHostException; +import java.util.List; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Service; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; + +@Service +public class CertificationClientService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + @Value("${certification.api.host}") + private String hostName; + + @Value("${certification.api.port}") + private String portNumber; + + @Value("${certification.api.basepath}") + private String restBasePath; + + @Value("${certification.api.username}") + private String username; + + @Value("${certification.api.password}") + private String pass; + + ObjectMapper mapper = new ObjectMapper(); + + public void restClient(CertificationInputs vnfinfo, List<PreTestResponse> preTestNew, String testType) { + + PreTestResponse preTest = new PreTestResponse(); + + Output output = new Output(); + if ("network".equalsIgnoreCase(testType)) { + output = pingTest(vnfinfo); + } + if ("protocol".equalsIgnoreCase(testType)) { + output = protocolTest(vnfinfo); + } + preTest.setStatus(output.getStatus()); + preTest.setIpaddress(output.getIpaddress()); + preTest.setStatistics(output.getStatistics()); + preTest.setAvgTime(output.getAvgTime()); + preTest.setTesttype(testType); + preTestNew.add(preTest); + } + + public static Output pingTest(CertificationInputs vnfinfo) { + Output output = new Output(); + String pingCmd = "ping " + vnfinfo.getInput().getIpaddress(); + String pingResult = ""; + String testResult = "fail"; + String status = "unreachable"; + String reason = null; + String timeRes = null; + String percentile = null; + boolean flag = false; + try { + InetAddress byName = InetAddress.getByName(vnfinfo.getInput().getIpaddress()); + flag = byName.isReachable(5000); + } catch (UnknownHostException e) { + logger.info("Network certification Exception : " + e); + } catch (IOException e) { + logger.info("Network certification Exception : " + e); + } + if (flag) { + try { + Runtime r = Runtime.getRuntime(); + Process p = r.exec(pingCmd); + BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream())); + String inputLine; + while ((inputLine = in.readLine()) != null) { + if (pingResult.equals("")) { + pingResult = inputLine; + } else { + pingResult += "~" + inputLine; + } + } + String[] results = pingResult.split("~"); + for (String res : results) { + if (res.trim().contains("Packets:")) { + testResult = "pass"; + status = "reachable"; + String packets = res.trim(); + String[] lossPercentile = packets.split("\\("); + percentile = lossPercentile[1].replace(")", "").replace(",", "").trim(); + } + if (res.trim().contains("Minimum")) { + String timeMs = res.trim(); + String[] time = timeMs.split(","); + timeRes = time[0]; + } + } + in.close(); + } catch (Exception e) { + logger.info("Network certification Exception : " + e); + testResult = "fail"; + status = "unreachable"; + reason = e.toString(); + } + } + output.setAvgTime(timeRes); + output.setStatistics(percentile); + output.setHostname(vnfinfo.getInput().getHostname()); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + output.setTestresult(testResult); + output.setStatus(status); + + return output; + } + + public static Output protocolTest(CertificationInputs vnfinfo) { + Output output = new Output(); + Socket s = null; + String status = "unreachable"; + String reason = null; + try { + s = new Socket(vnfinfo.getInput().getIpaddress(), Integer.parseInt("45")); + status = "reachable"; + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } finally { + if (s != null) + try { + s.close(); + } catch (Exception e) { + logger.info("Protocol certification Exception : " + e); + reason = e.toString(); + status = "unreachable"; + } + } + output.setStatus(status); + output.setIpaddress(vnfinfo.getInput().getIpaddress()); + output.setReason(reason); + + return output; + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java new file mode 100644 index 0000000..daa064d --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestService.java @@ -0,0 +1,32 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.service; + +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; + +public interface LayerTestService { + + public Response networkCertification(Request restReq); + public void testSaveResults(PreTestResponse preTest,ODLClientResponse output); +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java new file mode 100644 index 0000000..8b303c1 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/java/com/onap/sdnc/testapi/service/LayerTestServiceImpl.java @@ -0,0 +1,119 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.service; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.google.gson.Gson; +import com.onap.sdnc.reports.model.DeviceConfig; +import com.onap.sdnc.reports.repository.DeviceRepository; +import com.onap.sdnc.reports.repository.PreTestConfigRepository; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.VnfList; + + +@Service +public class LayerTestServiceImpl implements LayerTestService { + + private static final Logger logger = Logger.getLogger(CertificationClientService.class); + + @Autowired + CertificationClientService certificationClientservice; + + @Autowired + DeviceRepository deviceRepository; + + @Autowired + PreTestConfigRepository preTestRepo; + + @Override + public Response networkCertification(Request restReq) { + + String testType = "network"; + + VnfList[] vnf = restReq.getVnfList(); + + ValidationTestType[] validationType = restReq.getValidationTestType(); + + CertificationInputs vnfRequestParams = new CertificationInputs(); + + Response resOutput = new Response(); + + Input input = new Input(); + + List<PreTestResponse> preTestNew = new ArrayList<PreTestResponse>(); + for (ValidationTestType validationTestType : validationType) { + if (validationTestType.getValidationType().equalsIgnoreCase("Network Layer")) { + testType = "network"; + } + if (validationTestType.getValidationType().equalsIgnoreCase("Protocol Layer")) { + testType = "protocol"; + } + for (VnfList vnfList : vnf) { + input.setIpaddress(vnfList.getIpAddress()); + input.setHostname(vnfList.getHostName()); + vnfRequestParams.setInput(input); + certificationClientservice.restClient(vnfRequestParams, preTestNew, testType); + } + } + resOutput.setPreTestResponse(preTestNew); + return resOutput; + } + + @Override + public void testSaveResults(PreTestResponse preTest,ODLClientResponse output) { + boolean flag=false; + long devId = 0; + + String timeStamp = new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime()); + try { + DeviceConfig devicename = deviceRepository.findDeviceName(preTest.getIpaddress()); + devId = devicename.getId(); + } catch (Exception e) { + flag=true; + } + if(flag) { + deviceRepository.logDeviceName(preTest.getIpaddress(), timeStamp); + }else + { + DeviceConfig devicename = deviceRepository.findDeviceName(preTest.getIpaddress()); + devId = devicename.getId(); + } + Gson gson = new Gson(); + String testName= preTest.getTesttype(); + String result = preTest.getStatus(); + String execuationDetails = gson.toJson(output); + + preTestRepo.logPreTestReport(testName, result, execuationDetails, timeStamp, devId); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/main/resources/application.properties b/SDNCReports/sdnc_reports_certification/src/main/resources/application.properties new file mode 100644 index 0000000..29a47dd --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/main/resources/application.properties @@ -0,0 +1,32 @@ +server.port = 9003 + +certification.api.host=10.53.122.44 +certification.api.port=8181 +certification.api.basepath=/restconf/operations/certification + +certification.api.username=admin +certification.api.password=admin + + +# =============================== +# Set here configurations for the database connection +spring.datasource.url=jdbc:mariadb://localhost:3306/testreports +spring.datasource.username=root +spring.datasource.password=12345 +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +# Keep the connection alive if idle for a long time (needed in production) +spring.datasource.testWhileIdle=true +spring.datasource.validationQuery=SELECT 1 +# =============================== +# = JPA / HIBERNATE +# =============================== +# Show or not log for each sql query +spring.jpa.show-sql=true +# Hibernate ddl auto (create, create-drop, update): with "create-drop" the database +# schema will be automatically created afresh for every start of application +spring.jpa.hibernate.ddl-auto=create +# Naming strategy +spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl +spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy +# Allows Hibernate to generate SQL optimized for a particular DBMS +spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/CertificationInputsTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/CertificationInputsTest.java new file mode 100644 index 0000000..78d0e6a --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/CertificationInputsTest.java @@ -0,0 +1,83 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.google.gson.Gson; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; +import com.onap.sdnc.testapi.service.CertificationClientService; +import com.onap.sdnc.testapi.service.LayerTestServiceImpl; + +public class CertificationInputsTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String network = "Network Layer"; + + Input input = new Input(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestCertificationInputs() { + + input.setIpaddress(ipaddress); + input.setHostname(hostname); + input.setNetwork(network); + + CertificationInputs certificationInputs=new CertificationInputs(); + certificationInputs.setInput(input); + + assertEquals(certificationInputs.getInput(), input); + assertEquals(input.getHostname(), hostname); + assertEquals(input.getIpaddress(), ipaddress); + assertEquals(input.getNetwork(), network); + + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/InputTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/InputTest.java new file mode 100644 index 0000000..1f45ffa --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/InputTest.java @@ -0,0 +1,39 @@ +package com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.Input; + + +public class InputTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String network = "Network Layer"; + + Input input = new Input(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestInput() { + + input.setHostname(hostname); + input.setIpaddress(ipaddress); + input.setNetwork(network); + + assertEquals(input.getHostname(), hostname); + assertEquals(input.getIpaddress(), ipaddress); + assertEquals(input.getNetwork(), network); + + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OdlResponseTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OdlResponseTest.java new file mode 100644 index 0000000..581986f --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OdlResponseTest.java @@ -0,0 +1,90 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.google.gson.Gson; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; +import com.onap.sdnc.testapi.service.CertificationClientService; +import com.onap.sdnc.testapi.service.LayerTestServiceImpl; + + +public class OdlResponseTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String network = "Network Layer"; + private String statistics = "0% loss"; + private String avgTime = "Minimum = 0ms"; + private String testresult="testresult"; + private String reason="Check your input"; + private String testtype = "network"; + private String typeId="1"; + private String validationType="network"; + private String portnumber=null; + + Output output=new Output(); + ODLClientResponse odlClientResponse=new ODLClientResponse(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } +@Test + public void TestODLClientResponse() { + output.setAvgTime(avgTime); + output.setHostname(hostname); + output.setIpaddress(ipaddress); + output.setTestresult(testresult); + output.setStatistics(statistics); + output.setStatus("unreachable"); + output.setReason("Check your input"); + + odlClientResponse.setOutput(output); + + assertEquals(odlClientResponse.getOutput(), output); + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OutputTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OutputTest.java new file mode 100644 index 0000000..8cb059a --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/OutputTest.java @@ -0,0 +1,69 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.Output; + + +public class OutputTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String statistics = "0% loss"; + private String avgTime = "Minimum = 0ms"; + private String testresult="testresult"; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestOutput() { + + Output output=new Output(); + + output.setAvgTime(avgTime); + output.setHostname(hostname); + output.setIpaddress(ipaddress); + output.setTestresult(testresult); + output.setStatistics(statistics); + output.setStatus("unreachable"); + output.setReason("Check your input"); + + assertEquals(output.getHostname(), hostname); + assertEquals(output.getIpaddress(), ipaddress); + assertEquals(output.getAvgTime(),avgTime); + assertEquals(output.getStatistics(), statistics); + assertEquals(output.getStatus(), "unreachable"); + assertEquals(output.getReason(), "Check your input"); + assertEquals(output.getTestresult(), testresult); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/PreTestResponseTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/PreTestResponseTest.java new file mode 100644 index 0000000..ec2fa35 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/PreTestResponseTest.java @@ -0,0 +1,83 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.google.gson.Gson; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; +import com.onap.sdnc.testapi.service.CertificationClientService; +import com.onap.sdnc.testapi.service.LayerTestServiceImpl; + +public class PreTestResponseTest { + + private String ipaddress = "0.0.0.0"; + private String avgTime = "Minimum = 0ms"; + private String statistics = "0% loss"; + private String testtype = "network"; + + PreTestResponse preTestResponse = new PreTestResponse(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestPreTestResponse() { + + preTestResponse.setAvgTime(avgTime); + preTestResponse.setIpaddress(ipaddress); + preTestResponse.setStatistics(statistics); + preTestResponse.setStatus("reachable"); + preTestResponse.setTesttype(testtype); + + assertEquals(preTestResponse.getAvgTime(), avgTime); + assertEquals(preTestResponse.getIpaddress(), ipaddress); + assertEquals(preTestResponse.getStatistics(), statistics); + assertEquals(preTestResponse.getStatus(), "reachable"); + assertEquals(preTestResponse.getTesttype(), testtype); + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/RequestTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/RequestTest.java new file mode 100644 index 0000000..74f2c98 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/RequestTest.java @@ -0,0 +1,96 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.google.gson.Gson; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; +import com.onap.sdnc.testapi.service.CertificationClientService; +import com.onap.sdnc.testapi.service.LayerTestServiceImpl; + + +public class RequestTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String network = "Network Layer"; + private String typeId="1"; + + private ValidationTestType[] validationTestTypee; + Request restReq= new Request(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @SuppressWarnings("deprecation") + @Test + public void TestRequest() { + ValidationTestType validationTestType = new ValidationTestType(); + validationTestType.setTypeId(typeId); + validationTestType.setValidationType(network); + + VnfList<List> vnflistt = new VnfList<List>(); + vnflistt.setHostName(hostname); + vnflistt.setIpAddress(ipaddress); + vnflistt.setPortNo(null); + + VnfList[] vnflist = restReq.getVnfList(); + restReq.setValidationTestType(validationTestTypee); + restReq.setVnfList(vnflist); + + ValidationTestType[] validationTestTypee = restReq.getValidationTestType(); + + Vnf vnf = new Vnf(); + vnf.setValidationTestType(validationTestTypee); + vnf.setVnfList(vnflist); + + assertEquals(restReq.getValidationTestType(), validationTestTypee); + assertEquals(restReq.getVnfList(), vnflist); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ResponseTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ResponseTest.java new file mode 100644 index 0000000..e94f0bb --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ResponseTest.java @@ -0,0 +1,71 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Response; + + +public class ResponseTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String statistics = "0% loss"; + private String avgTime = "Minimum = 0ms"; + private String testresult="testresult"; + private String testtype = "network"; + + PreTestResponse preTestResponse=new PreTestResponse(); + Response response= new Response(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestResponse() { + preTestResponse.setAvgTime(avgTime); + preTestResponse.setIpaddress(ipaddress); + preTestResponse.setStatistics(statistics); + preTestResponse.setStatus("reachable"); + preTestResponse.setTesttype(testtype); + + List<PreTestResponse> listPreTestResponse=new ArrayList<PreTestResponse>(); + listPreTestResponse.add(preTestResponse); + response.setPreTestResponse(listPreTestResponse); + + assertEquals(response.getPreTestResponse(), listPreTestResponse); + } + +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ValidationTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ValidationTest.java new file mode 100644 index 0000000..f53c27d --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/ValidationTest.java @@ -0,0 +1,51 @@ +/* ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.ValidationTestType; + + +public class ValidationTest { + + private String validationType="network"; + private String typeId="1"; + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestValidation() { + ValidationTestType validationTestType=new ValidationTestType(); + validationTestType.setTypeId(typeId); + validationTestType.setValidationType(validationType); + + assertEquals(validationTestType.getTypeId(), "1"); + assertEquals(validationTestType.getValidationType(), "network"); + } +} diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfListTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfListTest.java new file mode 100644 index 0000000..bc231e2 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfListTest.java @@ -0,0 +1,58 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.MockitoAnnotations; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.VnfList; + + +public class VnfListTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String portnumber = null; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestVnfList() { + VnfList<List> vnfListt = new VnfList<List>(); + vnfListt.setHostName(hostname); + vnfListt.setIpAddress(ipaddress); + vnfListt.setPortNo(null); + + assertEquals(vnfListt.getHostName(), hostname); + assertEquals(vnfListt.getIpAddress(), ipaddress); + assertEquals(vnfListt.getPortNo(), portnumber); + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfTest.java new file mode 100644 index 0000000..0556012 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/model/VnfTest.java @@ -0,0 +1,65 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.model; + +import static org.junit.Assert.assertEquals; +import java.util.List; +import org.junit.Test; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +import com.onap.sdnc.testapi.Application; +import com.onap.sdnc.testapi.ServletInitializer; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; + + +public class VnfTest { + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private ValidationTestType[] validationTestType; + + Request restReq = new Request(); + + @SuppressWarnings("deprecation") + @Test + public void TestVnf() { + + VnfList<List> vnfListt = new VnfList<List>(); + vnfListt.setHostName(hostname); + vnfListt.setIpAddress(ipaddress); + vnfListt.setPortNo(null); + + VnfList[] vnflist = restReq.getVnfList(); + Vnf testvnf = new Vnf(); + testvnf.setVnfList(vnflist); + testvnf.setValidationTestType(validationTestType); + + ValidationTestType[] validationTestTypee = restReq.getValidationTestType(); + testvnf.setValidationTestType(validationTestTypee); + + assertEquals(testvnf.getVnfList(), vnflist); + assertEquals(testvnf.getValidationTestType(), validationTestTypee); + } +}
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/CertificationClientServiceTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/CertificationClientServiceTest.java new file mode 100644 index 0000000..13867d3 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/CertificationClientServiceTest.java @@ -0,0 +1,93 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.service; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.service.CertificationClientService; + +public class CertificationClientServiceTest { + + @Mock + CertificationClientService certificationClientservice; + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestRestClient() { + Input input = new Input(); + CertificationInputs vnfinfo = new CertificationInputs(); + + input.setHostname("hostname"); + input.setIpaddress("10.20.30.50"); + input.setNetwork("network"); + vnfinfo.setInput(input); + + List<PreTestResponse> preTestNew = new ArrayList<PreTestResponse>(); + String testType = "network"; + Mockito.doNothing().when(certificationClientservice).restClient(vnfinfo, preTestNew, testType); + certificationClientservice.restClient(vnfinfo, preTestNew, testType); + assertTrue(true); + } + + @Test + public void pingServiceTest() { + CertificationInputs vnfinfo = new CertificationInputs(); + Input input = new Input(); + input.setIpaddress("10.53.122.44"); + input.setHostname("hostname"); + vnfinfo.setInput(input); + Output mockOutput = new Output(); + mockOutput.setIpaddress("10.53.122.44"); + Output output = CertificationClientService.pingTest(vnfinfo); + assertEquals(output.getIpaddress(), input.getIpaddress()); + } + + @Test + public void protocolTest() { + CertificationInputs vnfinfo = new CertificationInputs(); + Input input = new Input(); + input.setIpaddress("10.53.122.44"); + input.setHostname("hostname"); + vnfinfo.setInput(input); + Output mockOutput = new Output(); + mockOutput.setIpaddress("10.53.122.44"); + Output output = CertificationClientService.protocolTest(vnfinfo); + assertEquals(output.getIpaddress(), input.getIpaddress()); + } +} +
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/LayerTestServiceImplTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/LayerTestServiceImplTest.java new file mode 100644 index 0000000..fcafa1c --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/LayerTestServiceImplTest.java @@ -0,0 +1,119 @@ +package com.onap.sdnc.testapi.service; + +import static org.junit.Assert.*; + +import java.util.ArrayList; +import java.util.List; + +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.CertificationInputs; +import com.onap.sdnc.testapi.model.Input; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.Output; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.VnfList; + +public class LayerTestServiceImplTest { + + @Mock + CertificationClientService cService; + @Mock + LayerTestServiceImpl layerTestServiceImpl; + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String statistics = "0% loss"; + private String avgTime = "Minimum = 0ms"; + private String testresult="testresult"; + private String reason="Check your input"; + private String testtype = "network"; + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void networkCertificationTest() { + + Request restReq = new Request(); + Input input = new Input(); + CertificationInputs vnfinfo = new CertificationInputs(); + ValidationTestType vType = new ValidationTestType(); + + List<ValidationTestType> lVtype = new ArrayList<ValidationTestType>(); + vType.setTypeId("1"); + vType.setValidationType("Network Layer"); + lVtype.add(vType); + + ValidationTestType[] validationTestType = new ValidationTestType[lVtype.size()]; + lVtype.toArray(validationTestType); + restReq.setValidationTestType(validationTestType); + + VnfList vnfList = new VnfList(); + vnfList.setHostName("hostname"); + vnfList.setIpAddress("0.0.0.0"); + vnfList.setPortNo("0"); + + List<VnfList> vnfListArray = new ArrayList<VnfList>(); + vnfListArray.add(vnfList); + + VnfList[] vnfInputArray = new VnfList[vnfListArray.size()]; + vnfListArray.toArray(vnfInputArray); + restReq.setVnfList(vnfInputArray); + input.setHostname("hostname"); + input.setIpaddress("10.20.30.50"); + input.setNetwork("network"); + vnfinfo.setInput(input); + + Response res = new Response(); + + PreTestResponse preTestRes = new PreTestResponse(); + preTestRes.setIpaddress("0.0.0.0"); + + List<PreTestResponse> preList = new ArrayList<PreTestResponse>(); + preList.add(preTestRes); + + res.setPreTestResponse(preList); + + Mockito.when(layerTestServiceImpl.networkCertification(restReq)).thenReturn(res); + + Response actualRes = layerTestServiceImpl.networkCertification(restReq); + + assertEquals(actualRes.getPreTestResponse().get(0).getIpaddress(), vnfList.getIpAddress()); + } + + @Test + public void TestSaveResult() { + PreTestResponse preTestResponse = new PreTestResponse(); + ODLClientResponse odlClientResponse=new ODLClientResponse(); + + Output output=new Output(); + output.setAvgTime(avgTime); + output.setHostname(hostname); + output.setIpaddress(ipaddress); + output.setReason(reason); + output.setStatistics(statistics); + output.setStatus("reachable"); + output.setTestresult(testresult); + + odlClientResponse.setOutput(output); + + preTestResponse.setAvgTime(avgTime); + preTestResponse.setIpaddress(ipaddress); + preTestResponse.setStatistics(statistics); + preTestResponse.setStatus("reachable"); + preTestResponse.setTesttype(testtype); + + Mockito.doNothing().when(layerTestServiceImpl).testSaveResults(preTestResponse, odlClientResponse); + layerTestServiceImpl.testSaveResults(preTestResponse, odlClientResponse); + assertTrue(true); + } + +} diff --git a/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/NetworkCertificationTest.java b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/NetworkCertificationTest.java new file mode 100644 index 0000000..c0225a9 --- /dev/null +++ b/SDNCReports/sdnc_reports_certification/src/test/java/com/onap/sdnc/testapi/service/NetworkCertificationTest.java @@ -0,0 +1,101 @@ +/*- + * ============LICENSE_START======================================================= + * openECOMP : SDN-C + * ================================================================================ + * Copyright (C) 2017 AT&T 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 com.onap.sdnc.testapi.service; +import static org.junit.Assert.assertEquals; +import java.util.ArrayList; +import java.util.List; +import org.junit.Before; +import org.junit.Test; +import org.mockito.ArgumentCaptor; +import org.mockito.Captor; +import org.mockito.Mock; +import org.mockito.Mockito; +import org.mockito.MockitoAnnotations; +import com.onap.sdnc.testapi.model.ODLClientResponse; +import com.onap.sdnc.testapi.model.PreTestResponse; +import com.onap.sdnc.testapi.model.Request; +import com.onap.sdnc.testapi.model.Response; +import com.onap.sdnc.testapi.model.ValidationTestType; +import com.onap.sdnc.testapi.model.Vnf; +import com.onap.sdnc.testapi.model.VnfList; +import com.onap.sdnc.testapi.service.LayerTestServiceImpl; + +public class NetworkCertificationTest { + + @Mock + LayerTestServiceImpl layerTestServiceImpl; + + @Captor + ArgumentCaptor<LayerTestServiceImpl> captor; + + private String hostname = "host"; + private String ipaddress = "0.0.0.0"; + private String network = "Network Layer"; + private String statistics = "0% loss"; + private String avgTime = "Minimum = 0ms"; + private String testtype = "network"; + private String typeId = "1"; + + Response response = new Response(); + PreTestResponse preTestResponse = new PreTestResponse(); + ODLClientResponse odlClientResponse = new ODLClientResponse(); + Request restReq = new Request(); + + @Before + public void setUp() throws Exception { + MockitoAnnotations.initMocks(this); + } + + @Test + public void TestNetworkClient() { + + preTestResponse.setAvgTime(avgTime); + preTestResponse.setIpaddress(ipaddress); + preTestResponse.setStatistics(statistics); + preTestResponse.setStatus("reachable"); + preTestResponse.setTesttype(testtype); + + List<PreTestResponse> listPreTestResponse = new ArrayList<PreTestResponse>(); + listPreTestResponse.add(preTestResponse); + response.setPreTestResponse(listPreTestResponse); + + ValidationTestType validationTestType = new ValidationTestType(); + validationTestType.setTypeId(typeId); + validationTestType.setValidationType(network); + + VnfList<List> vnflistt = new VnfList<List>(); + vnflistt.setHostName(hostname); + vnflistt.setIpAddress(ipaddress); + vnflistt.setPortNo(null); + + VnfList[] vnflist = restReq.getVnfList(); + ValidationTestType[] validationTestTypee = restReq.getValidationTestType(); + + Vnf vnf = new Vnf(); + vnf.setValidationTestType(validationTestTypee); + vnf.setVnfList(vnflist); + Mockito.when(layerTestServiceImpl.networkCertification(restReq)).thenReturn(response); + Response res = layerTestServiceImpl.networkCertification(restReq); + + assertEquals(res.getPreTestResponse(), response.getPreTestResponse()); + } +} diff --git a/SDNCReports/sdnc_reports_dao/.classpath b/SDNCReports/sdnc_reports_dao/.classpath new file mode 100644 index 0000000..1a448aa --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.classpath @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" output="target/classes" path="src/main/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/javax/transaction/javax.transaction-api/1.2/javax.transaction-api-1.2.jar"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-test/1.5.3.RELEASE/spring-boot-starter-test-1.5.3.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-test/1.5.4.RELEASE/spring-boot-test-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-test-autoconfigure/1.5.4.RELEASE/spring-boot-test-autoconfigure-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar"/> + <classpathentry kind="var" path="M2_REPO/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.12/junit-4.12.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar"/> + <classpathentry kind="var" path="M2_REPO/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar"/> + <classpathentry kind="var" path="M2_REPO/org/objenesis/objenesis/2.1/objenesis-2.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar"/> + <classpathentry kind="var" path="M2_REPO/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar"/> + <classpathentry kind="var" path="M2_REPO/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-data-jpa/1.5.4.RELEASE/spring-boot-starter-data-jpa-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar"/> + <classpathentry kind="var" path="M2_REPO/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar"/> + <classpathentry kind="var" path="M2_REPO/org/yaml/snakeyaml/1.17/snakeyaml-1.17.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-aop/1.5.4.RELEASE/spring-boot-starter-aop-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/aspectj/aspectjweaver/1.8.10/aspectjweaver-1.8.10.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/boot/spring-boot-starter-jdbc/1.5.4.RELEASE/spring-boot-starter-jdbc-1.5.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-jdbc/8.5.15/tomcat-jdbc-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/tomcat/tomcat-juli/8.5.15/tomcat-juli-8.5.15.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-jdbc/4.3.9.RELEASE/spring-jdbc-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-tx/4.3.9.RELEASE/spring-tx-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/hibernate-core/5.0.12.Final/hibernate-core-5.0.12.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/javassist/javassist/3.21.0-GA/javassist-3.21.0-GA.jar"/> + <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/> + <classpathentry kind="var" path="M2_REPO/org/jboss/jandex/2.0.0.Final/jandex-2.0.0.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hibernate/common/hibernate-commons-annotations/5.0.1.Final/hibernate-commons-annotations-5.0.1.Final.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-jpa/1.11.4.RELEASE/spring-data-jpa-1.11.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/data/spring-data-commons/1.13.4.RELEASE/spring-data-commons-1.13.4.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-orm/4.3.9.RELEASE/spring-orm-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/org/springframework/spring-aspects/4.3.9.RELEASE/spring-aspects-4.3.9.RELEASE.jar"/> + <classpathentry kind="var" path="M2_REPO/mysql/mysql-connector-java/5.1.42/mysql-connector-java-5.1.42.jar"/> + <classpathentry kind="var" path="M2_REPO/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar"/> + <classpathentry kind="src" output="target/test-classes" path="src/test/java"> + <attributes> + <attribute name="optional" value="true"/> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/SDNCReports/sdnc_reports_dao/.gitignore b/SDNCReports/sdnc_reports_dao/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/SDNCReports/sdnc_reports_dao/.project b/SDNCReports/sdnc_reports_dao/.project new file mode 100644 index 0000000..95fb91b --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.project @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>sdnc_reports_dao</name> + <comment>Parent pom providing dependency and plugin management for applications + built with Maven. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> + <projects/> + <buildSpec> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + </buildCommand> + <buildCommand> + <name>org.springframework.ide.eclipse.core.springbuilder</name> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + </buildCommand> + </buildSpec> + <natures> + <nature>org.springframework.ide.eclipse.core.springnature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + </natures> +</projectDescription>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.core.resources.prefs b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..29abf99 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,6 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding//src/test/java=UTF-8 +encoding//src/test/resources=UTF-8 +encoding/<project>=UTF-8 diff --git a/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.jdt.core.prefs b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..5ce4518 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,13 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.m2e.core.prefs b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.wst.common.project.facet.core.xml b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 0000000..d858295 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,4 @@ +<?xml version="1.0" encoding="UTF-8"?> +<faceted-project> + <installed facet="cloudfoundry.standalone.app" version="1.0"/> +</faceted-project> diff --git a/SDNCReports/sdnc_reports_dao/pom.xml b/SDNCReports/sdnc_reports_dao/pom.xml new file mode 100644 index 0000000..0134b37 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/pom.xml @@ -0,0 +1,66 @@ +<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> + <artifactId>sdnc_reports_dao</artifactId> + <packaging>jar</packaging> + + <parent> + <groupId>com.sdnc.reports</groupId> + <artifactId>sdnc_reports</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + + + <dependencies> + <dependency> + <groupId>org.springframework</groupId> + <artifactId>spring-context</artifactId> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + <version>1.5.3.RELEASE</version> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-data-jpa</artifactId> + <exclusions> + <exclusion> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-entitymanager</artifactId> + </exclusion> + </exclusions> + + </dependency> + + <dependency> + <groupId>mysql</groupId> + <artifactId>mysql-connector-java</artifactId> + <scope>runtime</scope> + </dependency> + + <!-- <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + <scope>provided</scope> + </dependency> --> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + </dependency> + + <!-- <dependency> + <groupId>org.hibernate.javax.persistence</groupId> + <artifactId>hibernate-jpa-2.0-api</artifactId> + <version>1.0.1.Final</version> + </dependency> --> + <dependency> + <groupId>org.mariadb.jdbc</groupId> + <artifactId>mariadb-java-client</artifactId> + <version>1.1.7</version> +</dependency> + </dependencies> +</project>
\ No newline at end of file diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/DeviceConfig.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/DeviceConfig.java new file mode 100644 index 0000000..5b32dbe --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/DeviceConfig.java @@ -0,0 +1,108 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +import java.io.Serializable; +import java.util.Set; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.Table; + +@Entity +@Table(name = "deviceconfig",schema="testreports") +public class DeviceConfig implements Serializable +{ + private static final long serialVersionUID = -3009157732242241606L; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "deviceid") + private long id; + + @Column(name = "devicename") + private String deviceName; + + @Column(name = "createdon") + private String createdon; + + @OneToMany(mappedBy="device") + private Set<ProtocolConfig> protocolConfig; + + @OneToMany(mappedBy="device") + private Set<PreTestConfig> preTestConfig; + + public DeviceConfig() { + // TODO Auto-generated constructor stub + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getCreationDate() { + return createdon; + } + + public void setCreationDate(String creationDate) { + this.createdon = creationDate; + } + + public Set<ProtocolConfig> getProtocolConfig() { + return protocolConfig; + } + + public void setProtocolConfig(Set<ProtocolConfig> protocolConfig) { + this.protocolConfig = protocolConfig; + } + + public Set<PreTestConfig> getPreTestConfig() { + return preTestConfig; + } + + public void setPreTestConfig(Set<PreTestConfig> preTestConfig) { + this.preTestConfig = preTestConfig; + } + + @Override + public String toString() { + return "DeviceConfig [id=" + id + ", deviceName=" + deviceName + ", createdon=" + createdon + + "]"; + } + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/PreTestConfig.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/PreTestConfig.java new file mode 100644 index 0000000..3c11d51 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/PreTestConfig.java @@ -0,0 +1,126 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +import java.io.Serializable; +import java.util.Date; +import java.util.Set; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.OneToMany; +import javax.persistence.Table; +import javax.persistence.Temporal; +import javax.persistence.TemporalType; + +@Entity +@Table(name = "pretestconfig",schema="testreports") +public class PreTestConfig implements Serializable{ + + private static final long serialVersionUID = -3009157732242241606L; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "testid") + private long testId ; + + @Column(name = "testname") + private String testName; + + + @Column(name = "result") + private String result; + + @Column(name = "execuationdetails") + private String execuationDetails; + + @Column(name = "timestamp") + @Temporal(TemporalType.DATE) + private Date timestamp; + + @ManyToOne + @JoinColumn(name="deviceid",nullable=false) + private DeviceConfig device; + + public PreTestConfig() + { + // TODO Auto-generated constructor stub + } + + public long getTestId() { + return testId; + } + + public void setTestId(long testId) { + this.testId = testId; + } + + public String getTestName() { + return testName; + } + + public void setTestName(String testName) { + this.testName = testName; + } + + public DeviceConfig getDevice() { + return device; + } + + public void setDevice(DeviceConfig device) { + this.device = device; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public String getExecuationDetails() { + return execuationDetails; + } + + public void setExecuationDetails(String execuationDetails) { + this.execuationDetails = execuationDetails; + } + + public Date getTimestamp() { + return timestamp; + } + + public void setTimestamp(Date timestamp) { + this.timestamp = timestamp; + } + + @Override + public String toString() { + return "PreTestConfig [testId=" + testId + ", testName=" + testName + ", result=" + result + + ", execuationDetails=" + execuationDetails + ", timestamp=" + timestamp + ", device=" + device + "]"; + } + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/ProtocolConfig.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/ProtocolConfig.java new file mode 100644 index 0000000..3ad2fbf --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/ProtocolConfig.java @@ -0,0 +1,198 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +import java.io.Serializable; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "protocolconfig",schema="testreports") +public class ProtocolConfig implements Serializable{ + + private static final long serialVersionUID = -3009157732242241606L; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "protocolid") + private long protocolId; + + @Column(name = "protocolname") + private String protocolname; + + @Column(name = "process_id") + private String process_id; + + @Column(name = "networks") + private String networks; + + @Column(name = "as_number") + private String as_number; + + @Column(name = "neighbors") + private String neighbors; + + @Column(name = "cos_entry_number") + private String cos_entry_number; + + @Column(name = "destination_address") + private String destination_address; + + @Column(name = "source_address") + private String source_address; + + @Column(name = "customer_name") + private String customer_name; + + @Column(name = "version") + private String version; + + //@Column(name = "creationDate") + //private String creationDate; + + @ManyToOne + @JoinColumn(name="deviceid",nullable=false) + private DeviceConfig device; + + public ProtocolConfig() { + // TODO Auto-generated constructor stub + } + + public long getProtocolId() { + return protocolId; + } + + public void setProtocolId(long protocolId) { + this.protocolId = protocolId; + } + + public String getProtocolName() { + return protocolname; + } + + public void setProtocolName(String protocolName) { + this.protocolname = protocolName; + } + + public String getProcess_id() { + return process_id; + } + + public void setProcess_id(String process_id) { + this.process_id = process_id; + } + + public String getNetworks() { + return networks; + } + + public void setNetworks(String networks) { + this.networks = networks; + } + + public String getAs_number() { + return as_number; + } + + public void setAs_number(String as_number) { + this.as_number = as_number; + } + + public String getNeighbors() { + return neighbors; + } + + public void setNeighbors(String neighbors) { + this.neighbors = neighbors; + } + + public String getCos_entry_number() { + return cos_entry_number; + } + + public void setCos_entry_number(String cos_entry_number) { + this.cos_entry_number = cos_entry_number; + } + + public String getDestination_address() { + return destination_address; + } + + public void setDestination_address(String destination_address) { + this.destination_address = destination_address; + } + + public String getSource_address() { + return source_address; + } + + public void setSource_address(String source_address) { + this.source_address = source_address; + } + + public String getCustomer_name() { + return customer_name; + } + + public void setCustomer_name(String customer_name) { + this.customer_name = customer_name; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + /*public String getCreationDate() { + return creationDate; + } + + public void setCreationDate(String creationDate) { + this.creationDate = creationDate; + }*/ + + public DeviceConfig getDevice() { + return device; + } + + public void setDevice(DeviceConfig device) { + this.device = device; + } + + /*@Override + public String toString() { + return "ProtocolConfig [protocolId=" + protocolId + ", protocolname=" + protocolname + ", process_id=" + + process_id + ", networks=" + networks + ", as_number=" + as_number + ", neighbors=" + neighbors + + ", cos_entry_number=" + cos_entry_number + ", destination_address=" + destination_address + + ", source_address=" + source_address + ", customer_name=" + customer_name + ", version=" + version + + ", device=" + device + "]"; + }*/ + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Report.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Report.java new file mode 100644 index 0000000..53373b3 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Report.java @@ -0,0 +1,94 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +import java.io.Serializable; +import java.util.List; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + + +//@Entity +//@Table(name = "report") +public class Report implements Serializable { +/* + + private static final long serialVersionUID = -3009157732242241606L; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private long id; + + @Column(name = "router_name") + private String router_name; + + protected Report() { + } + + List<RouterConfigDetails> routerConfigDetailsObj; + + + + public long getRouter_id() { + return id; + } + + + + public void setRouter_id(long router_id) { + this.id = router_id; + } + + + + public String getRouter_name() { + return router_name; + } + + + + public void setRouter_name(String router_name) { + this.router_name = router_name; + } + + + + public List<RouterConfigDetails> getRouterConfigDetailsObj() { + return routerConfigDetailsObj; + } + + + + public void setRouterConfigDetailsObj(List<RouterConfigDetails> routerConfigDetailsObj) { + this.routerConfigDetailsObj = routerConfigDetailsObj; + } + + + @Override + public String toString() { + return "Router [router_id=" + id + ", router_name=" + router_name+"]"; + } + + +*/} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Response.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Response.java new file mode 100644 index 0000000..3203931 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/Response.java @@ -0,0 +1,50 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +public class Response { + private String status; + private Object data; + + public Response() { + + } + + public Response(String status, Object data) { + this.status = status; + this.data = data; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Object getData() { + return data; + } + + public void setData(Object data) { + this.data = data; + } +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/RouterConfigDetails.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/RouterConfigDetails.java new file mode 100644 index 0000000..96bf38b --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/model/RouterConfigDetails.java @@ -0,0 +1,281 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.model; + +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; + +import org.springframework.data.annotation.Id; + +import com.onap.sdnc.reports.rest.model.ConfigDetailsRestModel; +import com.onap.sdnc.reports.rest.model.ProtocolModel; + +public class RouterConfigDetails implements Comparable<RouterConfigDetails>{ + + @Override + public int compareTo(RouterConfigDetails o) { + // TODO Auto-generated method stub + return 0; + } + +/* + @Id + String router_config_details_id; + + Date date; + String version_id; + String protocol; + String cos_entry_number; + String destination_address; + String source_address; + String customer_name; + + String process_id; + String subnet_ip; + String area_id; + String as_number; + String router_id; + String peer_ip; + + HashMap<String, String> neighbors; + HashMap<String, String> networks; + + List<Object> networkList; + + public static List<ConfigDetailsRestModel> fromEntityToModel(List<RouterConfigDetails> entityList) { + List<ConfigDetailsRestModel> modelList= new ArrayList<ConfigDetailsRestModel>(); + ConfigDetailsRestModel configmodel= new ConfigDetailsRestModel(); + List<ProtocolModel> protocolmodelList= new ArrayList<ProtocolModel>(); + + for (RouterConfigDetails entity : entityList) { + ProtocolModel model = new ProtocolModel(); + // + model.setDate(entity.getDate().toString()); + if ("ipsla".equals(entity.getProtocol())) { + model.setVersion_id(entity.getVersion_id()); + model.setProtocol_name(entity.getProtocol()); + model.setCos_entry_number(entity.getCos_entry_number()); + model.setCustomer_name(entity.getCustomer_name()); + model.setDestination_address(entity.getDestination_address()); + model.setSource_address(entity.getSource_address()); + // routerConfigDetails.setRouter_config_details_id(String.valueOf(seqDao.getRouterConfigDetailsNextSequenceId(ROUTER_CONFIG_VERSION))); + protocolmodelList.add(model); + } + if ("bgp".equals(entity.getProtocol())) { + model.setVersion_id(entity.getVersion_id()); + model.setProtocol_name(entity.getProtocol()); + HashMap<String, String> neighbor = entity.getNeighbors(); + HashMap<String, String> neighbormap = new HashMap<String, String>(); + model.setAs_number(entity.getAs_number()); + model.setRouter_id(entity.getRouter_id()); + + String as_number = neighbor.get("as_number").toString(); + String peer_ip = neighbor.get("peer_ip").toString(); + + neighbormap.put("as_number", as_number); + neighbormap.put("peer_ip", peer_ip); + + model.setNeighbors(neighbormap); + protocolmodelList.add(model); + } + if ("ospf".equals(entity.getProtocol())) { + model.setVersion_id(entity.getVersion_id()); + model.setProtocol_name(entity.getProtocol()); + HashMap<String, String> networks = entity.getNetworks(); + HashMap<String, String> networksmap = new HashMap<String, String>(); + String network_subnet_ip = networks.get("subnet_ip").toString(); + String network_area_id = networks.get("area_id").toString(); + + + networksmap.put("subnet_ip", network_subnet_ip); + networksmap.put("area_id", network_subnet_ip); + + model.setNetworks(networksmap); + model.setProcess_id(entity.getProcess_id()); + protocolmodelList.add(model); + } + } + configmodel.setProtocol(protocolmodelList); + modelList.add(configmodel); + return modelList; + } + + public String getRouter_config_details_id() { + return router_config_details_id; + } + + public void setRouter_config_details_id(String router_config_details_id) { + this.router_config_details_id = router_config_details_id; + } + + public String getCos_entry_number() { + return cos_entry_number; + } + + public void setCos_entry_number(String cos_entry_number) { + this.cos_entry_number = cos_entry_number; + } + + public String getDestination_address() { + return destination_address; + } + + public void setDestination_address(String destination_address) { + this.destination_address = destination_address; + } + + public String getSource_address() { + return source_address; + } + + public void setSource_address(String source_address) { + this.source_address = source_address; + } + + public String getCustomer_name() { + return customer_name; + } + + public void setCustomer_name(String customer_name) { + this.customer_name = customer_name; + } + + public String getProtocol() { + return protocol; + } + + public void setProtocol(String protocol) { + this.protocol = protocol; + } + + + * public String getVersion() { return version; } + * + * public void setVersion(String version) { this.version = version; } + + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public String getProcess_id() { + return process_id; + } + + public void setProcess_id(String process_id) { + this.process_id = process_id; + } + + public String getSubnet_ip() { + return subnet_ip; + } + + public void setSubnet_ip(String subnet_ip) { + this.subnet_ip = subnet_ip; + } + + public String getArea_id() { + return area_id; + } + + public void setArea_id(String area_id) { + this.area_id = area_id; + } + + public String getAs_number() { + return as_number; + } + + public void setAs_number(String as_number) { + this.as_number = as_number; + } + + public String getRouter_id() { + return router_id; + } + + public void setRouter_id(String router_id) { + this.router_id = router_id; + } + + public String getPeer_ip() { + return peer_ip; + } + + public void setPeer_ip(String peer_ip) { + this.peer_ip = peer_ip; + } + + public HashMap<String, String> getNeighbors() { + return neighbors; + } + + public void setNeighbors(HashMap<String, String> neighbormap) { + this.neighbors = neighbormap; + } + + public HashMap<String, String> getNetworks() { + return networks; + } + + public void setNetworks(HashMap<String, String> networks) { + this.networks = networks; + } + + public List<Object> getNetworkList() { + return networkList; + } + + public void setNetworkList(List<Object> networkList) { + this.networkList = networkList; + } + + @Override + public String toString() { + return "RouterConfigDetails [router_config_details_id=" + router_config_details_id + ",date=" + date + + ",protocol=" + protocol + ", cos_entry_number=" + cos_entry_number + ", destination_address=" + + destination_address + ", source_address=" + source_address + ", customer_name=" + customer_name + "]"; + } + + //@Override + public int compareTo(RouterConfigDetails o) { + if (this.date.before(o.getDate())) + return 1; + else if (this.date.equals(o.getDate())) + return 0; + else + return -1; + } + + public String getVersion_id() { + return version_id; + } + + public void setVersion_id(String version_id) { + this.version_id = version_id; + } +*/ +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/DeviceRepository.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/DeviceRepository.java new file mode 100644 index 0000000..9e7f9b7 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/DeviceRepository.java @@ -0,0 +1,31 @@ + +package com.onap.sdnc.reports.repository; + +import java.util.Date; +import java.util.List; + +import javax.transaction.Transactional; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.CrudRepository; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import com.onap.sdnc.reports.model.DeviceConfig; +import com.onap.sdnc.reports.model.PreTestConfig; +import com.onap.sdnc.reports.model.Report; + +@Repository +public interface DeviceRepository extends JpaRepository<DeviceConfig, Long> { +//public interface DeviceRepository extends CrudRepository<DeviceConfig, Long> { + //List<Report> findByLastName(String lastName); + @Query(value= "from DeviceConfig where deviceName = :deviceName" ) + DeviceConfig findDeviceName(@Param("deviceName") String deviceName); + + @Modifying + @Query(value = "insert into DeviceConfig (deviceName,createdOn) VALUES (:deviceName,:createdOn)", nativeQuery = true) + @Transactional + void logDeviceName(@Param("deviceName") String deviceName, @Param("createdOn") String createdOn); +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/PreTestConfigRepository.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/PreTestConfigRepository.java new file mode 100644 index 0000000..07472d9 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/repository/PreTestConfigRepository.java @@ -0,0 +1,34 @@ + +package com.onap.sdnc.reports.repository; + +import java.util.Date; +import java.util.List; + +import javax.transaction.Transactional; + +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.Modifying; +import org.springframework.data.jpa.repository.Query; +import org.springframework.data.repository.query.Param; +import org.springframework.stereotype.Repository; + +import com.onap.sdnc.reports.model.PreTestConfig; + +@Repository +public interface PreTestConfigRepository extends JpaRepository<PreTestConfig, Long> { + + @Query(value= " from PreTestConfig where timestamp >= :startDate and timestamp <= :endDate" ) + List<PreTestConfig> findPreTestConfigByTimeStamp(@Param("startDate") Date startDate, @Param("endDate")Date endDate); + + + @Query(value= " from PreTestConfig where timestamp >= :startDate and timestamp <= :endDate and testName = :testName" ) + List<PreTestConfig> findReportByTestName(@Param("startDate") Date startDate, @Param("endDate")Date endDate, @Param("testName")String testName); + + @Query(value= " from PreTestConfig where timestamp >= :startDate and timestamp <= :endDate and device.deviceName = :deviceName" ) + List<PreTestConfig> findReportByDeviceName(@Param("startDate") Date startDate, @Param("endDate")Date endDate, @Param("deviceName")String deviceName); + + @Modifying + @Query(value = "insert into PreTestConfig (testName,result,execuationDetails,timestamp,deviceId) VALUES (:testName,:result,:execuationDetails,:timestamp,:deviceId)", nativeQuery = true) + @Transactional + void logPreTestReport(@Param("testName") String testName,@Param("result") String result, @Param("execuationDetails") String execuationDetails,@Param("timestamp") String timestamp,@Param("deviceId") long deviceId); +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ConfigDetailsRestModel.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ConfigDetailsRestModel.java new file mode 100644 index 0000000..5794459 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ConfigDetailsRestModel.java @@ -0,0 +1,73 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.rest.model; + +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ConfigDetailsRestModel { + + @JsonProperty(value = JSONTags.TAG_ROUTER) + String router; + + @JsonProperty(value = JSONTags.TAG_DATE) + String date; + + List<ProtocolModel> protocol; + + + public ConfigDetailsRestModel() { + super(); + } + + + public String getRouter() { + return router; + } + + + public void setRouter(String router) { + this.router = router; + } + + + public String getDate() { + return date; + } + + + public void setDate(String date) { + this.date = date; + } + + + public List<ProtocolModel> getProtocol() { + return protocol; + } + + + public void setProtocol(List<ProtocolModel> protocol) { + this.protocol = protocol; + } + + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/JSONTags.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/JSONTags.java new file mode 100644 index 0000000..90ff570 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/JSONTags.java @@ -0,0 +1,56 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.rest.model; + +public class JSONTags { + + public static final String TAG_REQUEST_FNAME = "first_name"; + public static final String TAG_REQUEST_MNAME = "middle_name"; + public static final String TAG_STATUS_SUCCESS = "success"; + public static final String TAG_RESPONSE_STATUS = "status"; + public static final String TAG_REQUEST_FROM = "request_from"; + public static final String TAG_REQUEST_ID = "request_id"; + public static final String TAG_RESPONSE_DETAIL = "response_detail"; + public static final String TAG_RESPONSE_BODY = "response_body"; + public static final String TAG_REQUEST_BODY = "request_body"; + public static final String TAG_RESPONSE_MESSAGE = "request"; + public static final String TAG_ERROR_CODE = "error_code"; + public static final String TAG_ERROR_CODE_SUCCESS = "100"; + + + public static final String TAG_ROUTER = "router"; + public static final String TAG_IPSLA = "ipsla"; + public static final String TAG_OSPF = "ospf"; + public static final String TAG_DATE = "date"; + public static final String TAG_COS_ENTRY_NUMBER = "cos-entry-number"; + public static final String TAG_DESTINATION_ADDRESS = "destination-address"; + public static final String TAG_SOURCE_ADDRESS = "source-address"; + public static final String TAG_CUSTOMER_NAME = "customer-name"; + public static final String TAG_PROTOCOL_NAME = "protocol-name"; + + + public static final String TAG_AS_NUMBER = "as-number"; + public static final String TAG_ROUTER_ID = "router-id"; + public static final String TAG_PEER_IP = "peer-ip"; + + public static final String TAG_PROCESS_ID = "process-id"; + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/PreTestModel.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/PreTestModel.java new file mode 100644 index 0000000..4f73e02 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/PreTestModel.java @@ -0,0 +1,116 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.rest.model; + +import java.io.Serializable; +import java.util.Date; + +public class PreTestModel implements Serializable{ + + private static final long serialVersionUID = -3009157732242241606L; + + private long testid; + + private long deviceid; + + private String testName; + + private String deviceName,execuationDetails,result; + + private Date timeStamp; + + public PreTestModel(long testid, long deviceid, String testName, String deviceName, String execuationDetails, + String result, Date timeStamp) { + super(); + this.testid = testid; + this.deviceid = deviceid; + this.testName = testName; + this.deviceName = deviceName; + this.execuationDetails = execuationDetails; + this.result = result; + this.timeStamp = timeStamp; + } + + @Override + public String toString() { + return "PreTestModel [testid=" + testid + ", deviceid=" + deviceid + ", testName=" + testName + ", deviceName=" + + deviceName + ", execuationDetails=" + execuationDetails + ", result=" + result + ", timeStamp=" + + timeStamp + "]"; + } + + public long getTestid() { + return testid; + } + + public void setTestid(long testid) { + this.testid = testid; + } + + public long getDeviceid() { + return deviceid; + } + + public void setDeviceid(long deviceid) { + this.deviceid = deviceid; + } + + public String getTestName() { + return testName; + } + + public void setTestName(String testName) { + this.testName = testName; + } + + public String getDeviceName() { + return deviceName; + } + + public void setDeviceName(String deviceName) { + this.deviceName = deviceName; + } + + public String getExecuationDetails() { + return execuationDetails; + } + + public void setExecuationDetails(String execuationDetails) { + this.execuationDetails = execuationDetails; + } + + public String getResult() { + return result; + } + + public void setResult(String result) { + this.result = result; + } + + public Date getTimeStamp() { + return timeStamp; + } + + public void setTimeStamp(Date timeStamp) { + this.timeStamp = timeStamp; + } + + + +} diff --git a/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ProtocolModel.java b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ProtocolModel.java new file mode 100644 index 0000000..d90584d --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/java/com/onap/sdnc/reports/rest/model/ProtocolModel.java @@ -0,0 +1,207 @@ +/* +* ============LICENSE_START======================================================= +* ONAP : SDNC-FEATURES +* ================================================================================ +* Copyright 2018 TechMahindra +*================================================================================= +* 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 com.onap.sdnc.reports.rest.model; + +import java.util.HashMap; +import java.util.List; + +import com.fasterxml.jackson.annotation.JsonProperty; + +public class ProtocolModel { + + + + @JsonProperty(value = JSONTags.TAG_COS_ENTRY_NUMBER) + String cos_entry_number; + @JsonProperty(value = JSONTags.TAG_DESTINATION_ADDRESS) + String destination_address; + @JsonProperty(value = JSONTags.TAG_SOURCE_ADDRESS) + String source_address; + @JsonProperty(value = JSONTags.TAG_CUSTOMER_NAME) + String customer_name; + + + String date; + + String version_id; + + String protocol_name; + + // added by bhawna + + String process_id; + String subnet_ip; + String area_id; + @JsonProperty(value = JSONTags.TAG_AS_NUMBER) + String as_number; + @JsonProperty(value = JSONTags.TAG_ROUTER_ID) + String router_id; + @JsonProperty(value = JSONTags.TAG_PEER_IP) + String peer_ip; + + HashMap<String, String> neighbors; + HashMap<String, String> networks; + + List<Object> networkList; + + public ProtocolModel() { + super(); + } + + /* + * @Override public String toString() { return + * "RouterConfigDetailsRestModel [cos_entry_number=" + cos_entry_number + + * ", destination_address=" + destination_address + ", source_address=" + + * source_address + ", customer_name=" + customer_name + "]"; } + */ + public String getProtocol_name() { + return protocol_name; + } + + + public void setProtocol_name(String protocol_name) { + this.protocol_name = protocol_name; + } + + public String getCos_entry_number() { + return cos_entry_number; + } + + public void setCos_entry_number(String cos_entry_number) { + this.cos_entry_number = cos_entry_number; + } + + public String getDestination_address() { + return destination_address; + } + + public void setDestination_address(String destination_address) { + this.destination_address = destination_address; + } + + public String getSource_address() { + return source_address; + } + + public void setSource_address(String source_address) { + this.source_address = source_address; + } + + public String getCustomer_name() { + return customer_name; + } + + public void setCustomer_name(String customer_name) { + this.customer_name = customer_name; + } + + + public String getProcess_id() { + return process_id; + } + + public void setProcess_id(String process_id) { + this.process_id = process_id; + } + + public String getSubnet_ip() { + return subnet_ip; + } + + public void setSubnet_ip(String subnet_ip) { + this.subnet_ip = subnet_ip; + } + + public String getArea_id() { + return area_id; + } + + public void setArea_id(String area_id) { + this.area_id = area_id; + } + + public String getAs_number() { + return as_number; + } + + public void setAs_number(String as_number) { + this.as_number = as_number; + } + + public String getRouter_id() { + return router_id; + } + + public void setRouter_id(String router_id) { + this.router_id = router_id; + } + + public String getPeer_ip() { + return peer_ip; + } + + public void setPeer_ip(String peer_ip) { + this.peer_ip = peer_ip; + } + + public HashMap<String, String> getNeighbors() { + return neighbors; + } + + public void setNeighbors(HashMap<String, String> neighbors) { + this.neighbors = neighbors; + } + + public HashMap<String, String> getNetworks() { + return networks; + } + + public void setNetworks(HashMap<String, String> networks) { + this.networks = networks; + } + + public List<Object> getNetworkList() { + return networkList; + } + + public void setNetworkList(List<Object> networkList) { + this.networkList = networkList; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getVersion_id() { + return version_id; + } + + public void setVersion_id(String version_id) { + this.version_id = version_id; + } + + + +} + diff --git a/SDNCReports/sdnc_reports_dao/src/main/resources/application.properties b/SDNCReports/sdnc_reports_dao/src/main/resources/application.properties new file mode 100644 index 0000000..e79c8b2 --- /dev/null +++ b/SDNCReports/sdnc_reports_dao/src/main/resources/application.properties @@ -0,0 +1,29 @@ +#spring.datasource.url=jdbc:mysql://localhost:3306/mysql?useSSL=false +#spring.datasource.driver-class-name=com.mysql.jdbc.Driver +#spring.datasource.name=mysql +#spring.jpa.database=mysql +#spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect + +spring.jpa.generate-ddl=true +spring.datasource.url=jdbc:mariadb://localhost:3306/testreports +spring.datasource.username=root +spring.datasource.password=root +spring.datasource.driver-class-name=org.mariadb.jdbc.Driver +spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect +#spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect +# Keep the connection alive if idle for a long time (needed in production) +spring.datasource.testWhileIdle=true + +#spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardIm + +#spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQLDialect +#spring.jpa.properties.hibernate.id.new_generator_mappings = false +#spring.jpa.properties.hibernate.format_sql = true +#spring.jpa.hibernate.ddl-auto=create + + +#logging.level.org.hibernate.SQL=DEBUG +#logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE + +# Naming strategy +#spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
\ No newline at end of file |