summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--csarvalidation/pom.xml95
-rw-r--r--csarvalidation/src/main/java/org/onap/validation/csar/CsarValidator.java25
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/csar/CsarValidatorTest.java (renamed from csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/CsarValidatorTest.java)78
-rw-r--r--csarvalidation/src/test/java/org/onap/validation/csar/ValidationExceptionTest.java (renamed from csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/ValidationExceptionTest.java)11
-rw-r--r--deployment/pom.xml8
-rw-r--r--pom.xml13
6 files changed, 161 insertions, 69 deletions
diff --git a/csarvalidation/pom.xml b/csarvalidation/pom.xml
index 12250c2..0e8cfd4 100644
--- a/csarvalidation/pom.xml
+++ b/csarvalidation/pom.xml
@@ -34,11 +34,29 @@
</repository>
</repositories>
+ <properties>
+ <log4j-slf4j-impl.version>2.13.0</log4j-slf4j-impl.version>
+ <snakeyaml.version>1.26</snakeyaml.version>
+ <jackson-core.version>2.9.4</jackson-core.version>
+ <junit.version>4.12</junit.version>
+ <commons-lang3.version>3.2.1</commons-lang3.version>
+ <commons-io.version>2.5</commons-io.version>
+ <bcpkix-jdk15on.version>1.61</bcpkix-jdk15on.version>
+ <cli-framework.version>5.0.3</cli-framework.version>
+ <cli-main.version>5.0.2</cli-main.version>
+ <assertj-core.version>3.11.1</assertj-core.version>
+ <lombok.version>1.18.2</lombok.version>
+ <commons-collections.version>3.2.2</commons-collections.version>
+ <maven-war-plugin.version>2.6</maven-war-plugin.version>
+ <maven-dependency-plugin.version>3.0.0</maven-dependency-plugin.version>
+ <mockito-core.version>3.5.0</mockito-core.version>
+ </properties>
+
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
- <version>2.13.0</version>
+ <version>${log4j-slf4j-impl.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
@@ -49,42 +67,37 @@
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
- <version>1.26</version>
+ <version>${snakeyaml.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
- <version>2.9.4</version>
+ <version>${jackson-core.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.12</version>
- <scope>test</scope>
- </dependency>
+
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.2.1</version>
+ <version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.5</version>
+ <version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
- <version>1.61</version>
+ <version>${bcpkix-jdk15on.version}</version>
</dependency>
<dependency>
<groupId>org.onap.cli</groupId>
<artifactId>cli-framework</artifactId>
- <version>5.0.3</version>
+ <version>${cli-framework.version}</version>
<exclusions>
<exclusion>
<groupId>commons-codec</groupId>
@@ -97,32 +110,42 @@
<artifactId>commons-codec</artifactId>
<version>1.14</version>
</dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <version>${lombok.version}</version>
+ </dependency>
+ <dependency>
+ <artifactId>commons-collections</artifactId>
+ <groupId>commons-collections</groupId>
+ <version>${commons-collections.version}</version>
+ </dependency>
+ <!-- TEST dependencies -->
<dependency>
- <groupId>org.onap.cli</groupId>
- <artifactId>cli-main</artifactId>
- <version>5.0.2</version>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>${junit.version}</version>
<scope>test</scope>
</dependency>
-
<dependency>
- <groupId>org.assertj</groupId>
- <artifactId>assertj-core</artifactId>
- <version>3.11.1</version>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>${mockito-core.version}</version>
<scope>test</scope>
</dependency>
-
<dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <version>1.18.2</version>
+ <groupId>org.onap.cli</groupId>
+ <artifactId>cli-main</artifactId>
+ <version>${cli-main.version}</version>
+ <scope>test</scope>
</dependency>
<dependency>
- <artifactId>commons-collections</artifactId>
- <groupId>commons-collections</groupId>
- <version>3.2.2</version>
+ <groupId>org.assertj</groupId>
+ <artifactId>assertj-core</artifactId>
+ <version>${assertj-core.version}</version>
+ <scope>test</scope>
</dependency>
-
</dependencies>
<profiles>
@@ -135,7 +158,6 @@
</profile>
</profiles>
-
<build>
<finalName>${project.artifactId}-${project.version}</finalName>
@@ -143,7 +165,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
+ <version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
@@ -153,20 +175,11 @@
</archive>
</configuration>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
- <configuration>
- <source>1.8</source>
- <target>1.8</target>
- </configuration>
- </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
- <version>3.0.0</version>
+ <version>${maven-dependency-plugin.version}</version>
<executions>
<execution>
<id>copy-artifact</id>
@@ -205,7 +218,7 @@
<plugin>
<artifactId>maven-war-plugin</artifactId>
- <version>2.6</version>
+ <version>${maven-war-plugin.version}</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
diff --git a/csarvalidation/src/main/java/org/onap/validation/csar/CsarValidator.java b/csarvalidation/src/main/java/org/onap/validation/csar/CsarValidator.java
index 86952b1..0478758 100644
--- a/csarvalidation/src/main/java/org/onap/validation/csar/CsarValidator.java
+++ b/csarvalidation/src/main/java/org/onap/validation/csar/CsarValidator.java
@@ -97,16 +97,35 @@ public class CsarValidator {
}
}
+ static class CsarValidatorSeam {
+ public String validateCsarMeta() {
+ return CsarValidator.validateCsarMeta();
+ }
+
+ public String validateAndScanToscaMeta(){
+ return CsarValidator.validateAndScanToscaMeta();
+ }
+
+ public String validateMainService() {
+ return CsarValidator.validateMainService();
+ }
+
+ }
+
/**
* @return true if all validations are successful
*/
public static String validateCsar() {
+ return CsarValidator.validateCsarContent(new CsarValidatorSeam());
+ }
+
+ static String validateCsarContent(CsarValidatorSeam csarValidatorSeam) {
- String vsm = validateCsarMeta();
+ String vsm = csarValidatorSeam.validateCsarMeta();
- String vtm = validateAndScanToscaMeta();
+ String vtm = csarValidatorSeam.validateAndScanToscaMeta();
- String vms = validateMainService();
+ String vms = csarValidatorSeam.validateMainService();
//String r02454 = r02454();
diff --git a/csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/CsarValidatorTest.java b/csarvalidation/src/test/java/org/onap/validation/csar/CsarValidatorTest.java
index 2fe3640..bd363fc 100644
--- a/csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/CsarValidatorTest.java
+++ b/csarvalidation/src/test/java/org/onap/validation/csar/CsarValidatorTest.java
@@ -1,23 +1,27 @@
-/**
+/*
* Copyright 2017 Huawei Technologies Co., Ltd.
- *
+ * Copyright 2020 Nokia
+ * <p>
* 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
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* 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.
+ *
*/
-package org.onap.validation.csarvalidationtest;
+package org.onap.validation.csar;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.junit.MockitoJUnitRunner;
import java.io.File;
import java.io.FileInputStream;
@@ -30,11 +34,12 @@ import java.util.regex.Pattern;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
-import org.junit.Test;
-import org.onap.validation.csar.CommonConstants;
-import org.onap.validation.csar.CsarValidator;
-import org.onap.validation.csar.FileUtil;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+
+@RunWith(MockitoJUnitRunner.class)
public class CsarValidatorTest {
String regex = "^\\/[a-zA-Z]\\:\\/";
@@ -155,12 +160,20 @@ public class CsarValidatorTest {
}
@Test
- public void testCloseInputStream() {
+ public void testCloseInputStreamForNonExistingDirectory() {
InputStream dir = null;
FileUtil.closeInputStream(dir);
assertTrue(true);
}
+ @Test(expected = ValidationException.class)
+ public void testCloseInputStream() throws IOException {
+ InputStream inputStream = mock(InputStream.class);
+ Mockito.doThrow(new IOException()).when(inputStream).close();
+ FileUtil.closeInputStream(inputStream);
+ assertTrue(true);
+ }
+
@Test
public void testCloseZipFile() throws ZipException, IOException {
File file = new File(sample1);
@@ -177,6 +190,13 @@ public class CsarValidatorTest {
}
+ @Test(expected = ValidationException.class)
+ public void testCloseFileStream_reportErrorWhenIOExceptionOccurs() throws IOException {
+ FileInputStream fileInputStream = mock(FileInputStream.class);
+ Mockito.doThrow(new IOException()).when(fileInputStream).close();
+ FileUtil.closeFileStream(fileInputStream);
+ }
+
@Test
public void testCloseOutptutStream() {
OutputStream dir4 = new OutputStream() {
@@ -190,6 +210,13 @@ public class CsarValidatorTest {
assertTrue(true);
}
+ @Test(expected = ValidationException.class)
+ public void testCloseOutptutStream_reportErrorWhenIOExceptionOccurs() throws IOException {
+ OutputStream outputStream = mock(OutputStream.class);
+ Mockito.doThrow(new IOException()).when(outputStream).close();
+ FileUtil.closeOutputStream(outputStream);
+ }
+
private void testValidateCsarMeta(CsarValidator cv) {
String result = CsarValidator.validateCsarMeta();
assertEquals(true, result == CommonConstants.SUCCESS_STR);
@@ -223,6 +250,31 @@ public class CsarValidatorTest {
}
@Test
+ public void testValidateCsar_csarMetaFailed() {
+ CsarValidator.CsarValidatorSeam csarValidatorSeam = mock(CsarValidator.CsarValidatorSeam.class);
+ Mockito.when(csarValidatorSeam.validateCsarMeta()).thenReturn("FAIL");
+ Mockito.when(csarValidatorSeam.validateAndScanToscaMeta()).thenReturn("SUCCESS");
+ Mockito.when(csarValidatorSeam.validateMainService()).thenReturn("FAIL");
+
+
+ String res=CsarValidator.validateCsarContent(csarValidatorSeam);
+ assertEquals("FAIL OR FAIL",res);
+
+ }
+
+ @Test
+ public void testValidateCsar_toscaMetaFailed() {
+ CsarValidator.CsarValidatorSeam csarValidatorSeam = mock(CsarValidator.CsarValidatorSeam.class);
+ Mockito.when(csarValidatorSeam.validateCsarMeta()).thenReturn("SUCCESS");
+ Mockito.when(csarValidatorSeam.validateAndScanToscaMeta()).thenReturn("FAIL");
+ Mockito.when(csarValidatorSeam.validateMainService()).thenReturn("SUCCESS");
+
+
+ String res=CsarValidator.validateCsarContent(csarValidatorSeam);
+ assertEquals("FAIL",res);
+ }
+
+ @Test
public void testDeleteDir(){
String dstPath = "./dstPathForTest1";
File dst = new File(dstPath);
diff --git a/csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/ValidationExceptionTest.java b/csarvalidation/src/test/java/org/onap/validation/csar/ValidationExceptionTest.java
index 8ab498e..fcbc439 100644
--- a/csarvalidation/src/test/java/org/onap/validation/csarvalidationtest/ValidationExceptionTest.java
+++ b/csarvalidation/src/test/java/org/onap/validation/csar/ValidationExceptionTest.java
@@ -1,20 +1,21 @@
-/**
- * Copyright 2017 Huawei Technologies Co., Ltd.
+/*
+ * Copyright 2020 Nokia
* <p>
* 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
* <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
* 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.
+ *
*/
-package org.onap.validation.csarvalidationtest;
+package org.onap.validation.csar;
import static org.junit.Assert.assertTrue;
diff --git a/deployment/pom.xml b/deployment/pom.xml
index 6e21474..bb56d3a 100644
--- a/deployment/pom.xml
+++ b/deployment/pom.xml
@@ -16,6 +16,10 @@
-->
<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>
+ <properties>
+ <groovy-maven-plugin.version>2.0</groovy-maven-plugin.version>
+ <gmaven-plugin.version>1.5</gmaven-plugin.version>
+ </properties>
<parent>
<groupId>org.onap.vnfsdk.validation</groupId>
@@ -33,7 +37,7 @@
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
- <version>2.0</version>
+ <version>${groovy-maven-plugin.version}</version>
</plugin>
</plugins>
</pluginManagement>
@@ -41,7 +45,7 @@
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
- <version>1.5</version>
+ <version>${gmaven-plugin.version}</version>
<executions>
<execution>
<id>CSAR validator</id>
diff --git a/pom.xml b/pom.xml
index 616ce5f..b07c75b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,6 +15,7 @@
<packaging>pom</packaging>
<properties>
+ <java.version>11</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<sonar.language>java</sonar.language>
<sonar.surefire.reportsPath>${project.build.directory}/surefire-reports</sonar.surefire.reportsPath>
@@ -22,8 +23,10 @@
<sonar.jacoco.reportMissing.force.zero>true</sonar.jacoco.reportMissing.force.zero>
<sonar.projectVersion>${project.version}</sonar.projectVersion>
<sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
+ <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
+ <maven-jar-plugin.version>3.0.2</maven-jar-plugin.version>
</properties>
-
+
<scm>
<tag>HEAD</tag>
</scm>
@@ -40,7 +43,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
- <version>3.0.2</version>
+ <version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
@@ -56,10 +59,10 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.1</version>
+ <version>${maven-compiler-plugin.version}</version>
<configuration>
- <source>1.8</source>
- <target>1.8</target>
+ <source>${java.version}</source>
+ <target>${java.version}</target>
</configuration>
</plugin>
<plugin>