Reducing onboarding backend maven build time 85/42285/23
authorGautam Shah <gautams@amdocs.com>
Wed, 11 Apr 2018 14:25:29 +0000 (19:55 +0530)
committerGAUTAMS <gautams@amdocs.com>
Tue, 17 Apr 2018 04:48:53 +0000 (10:18 +0530)
Reducing onboarding backend maven build time

Change-Id: Iab7af70c0e9f60b8a50bef7937e802df5be89fd0
Issue-ID: SDC-1189
Signed-off-by: GAUTAMS <gautams@amdocs.com>
27 files changed:
catalog-be/pom.xml
onboarding/pom.xml
openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/pom.xml
openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/resources/logback-test.xml [new file with mode: 0644]
openecomp-be/lib/openecomp-sdc-enrichment-lib/openecomp-sdc-enrichment-api/pom.xml
openecomp-be/lib/openecomp-sdc-logging-lib/openecomp-sdc-logging-core/pom.xml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/pom.xml
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/ConsolidationDataUtilTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/globaltypes/GlobalTypesServiceTemplatesTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseFullTranslationTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/impl/resourcetranslation/BaseResourceTranslationTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/ComputeNewNodeTemplateIdGeneratorTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/PortNewNodeTemplateIdGeneratorTest.java
openecomp-be/lib/openecomp-sdc-translator-lib/openecomp-sdc-translator-core/src/test/java/org/openecomp/sdc/translator/services/heattotosca/unifiedmodel/commands/SubInterfaceNewNodeTemplateIdGeneratorTest.java
openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-core/pom.xml
openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/pom.xml
openecomp-be/lib/openecomp-sdc-validation-lib/openecomp-sdc-validation-sdk/src/main/java/org/openecomp/sdc/validation/util/ValidationTestUtil.java
openecomp-be/lib/openecomp-sdc-vendor-software-product-lib/openecomp-sdc-vendor-software-product-core/pom.xml
openecomp-be/lib/openecomp-tosca-lib/pom.xml
openecomp-be/pom.xml
openecomp-be/tools/build-helper/pom.xml [new file with mode: 0644]
openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java [new file with mode: 0644]
openecomp-be/tools/swagger-ui/assembly/swagger.xml
openecomp-be/tools/swagger-ui/pom.xml
openecomp-be/tools/zusammen-tools/pom.xml
openecomp-be/tools/zusammen-tools/src/main/assembly/zusammen-tools-lib-assembly.xml
openecomp-be/tools/zusammen-tools/src/main/resources/zusammenMainTool.sh

index e99789d..9fa7892 100644 (file)
                                     <resources>
                                         <resource>
                                             <directory>
-                                                ${project.parent.basedir}/openecomp-be/tools/swagger-ui/api-docs
+                                                ${project.parent.basedir}/openecomp-be/tools/swagger-ui/target/api-docs
                                             </directory>
                                             <includes>
                                                 <include>api-docs.war</include>
index 08f2c92..1c0dbfe 100644 (file)
@@ -13,6 +13,7 @@
     </parent>
 
     <modules>
+        <module>../openecomp-be/tools/build-helper</module>
         <module>../common</module>
         <module>../openecomp-be</module>
         <module>../openecomp-ui</module>
@@ -31,7 +32,7 @@
         <mvn.license.version>1.10</mvn.license.version>
         <mvn.shade.version>2.3</mvn.shade.version>
         <mvn.surefire.version>2.19.1</mvn.surefire.version>
-        <mvn.swagger.version>3.1.0</mvn.swagger.version>
+        <mvn.swagger.version>3.1.5</mvn.swagger.version>
         <mvn.war.version>2.1.1</mvn.war.version>
         <mvn.antrun.version>1.8</mvn.antrun.version>
 
                         <fileset>
                             <directory>${project.build.directory}</directory>
                             <excludes>
-                                <exclude>test-classes/**</exclude>
+                                <exclude>test-classes/**/*.class</exclude>
                                 <exclude>pmd/**</exclude>
                                 <exclude>maven-status/**</exclude>
                             </excludes>
                     <printSummary>false</printSummary>
                     <redirectTestOutputToFile>true</redirectTestOutputToFile>
                     <additionalClasspathElements>
-                        <additionalClasspathElement>${project.build.directory}/../src/test/resources</additionalClasspathElement>
+                        <additionalClasspathElement>${project.basedir}/src/test/resources</additionalClasspathElement>
                     </additionalClasspathElements>
                     <systemPropertyVariables>
                         <logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
                         <artifactgenerator.config>${project.basedir}/src/test/resources/config/Artifact-Generator.properties</artifactgenerator.config>
                         <config.location>${project.basedir}/configuration</config.location>
                     </systemPropertyVariables>
+                    <dependenciesToScan>
+                        org.openecomp.sdc:build-helper
+                    </dependenciesToScan>
                 </configuration>
             </plugin>
         </plugins>
index 04954fe..39ed3ae 100644 (file)
                                     http://www.github.com/kongchen/swagger-maven-plugin
                                 </termsOfService>
                             </info>
-                            <templatePath>${basedir}/templates/strapdown.html.hbs</templatePath>
-                            <outputPath>${basedir}/target/generated/api.html</outputPath>
                             <swaggerDirectory>${basedir}/target/generated/swagger-ui
                             </swaggerDirectory>
                         </apiSource>
diff --git a/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/resources/logback-test.xml b/openecomp-be/api/openecomp-sdc-rest-webapp/onboarding-rest-war/src/main/resources/logback-test.xml
new file mode 100644 (file)
index 0000000..f69355b
--- /dev/null
@@ -0,0 +1,21 @@
+<configuration scan="true" scanPeriod="3 seconds">
+
+    <property name="logDir" value="logs" />
+    <property name="componentName" value="SDC" />
+
+    <property name="defaultPattern"
+              value="%logger|%date{ISO8601,UTC}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{ClassName}|%X{Timer}| %msg%n" />
+
+    <property name="logDirectory" value="${logDir}/${componentName}" />
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <encoder>
+            <pattern>${defaultPattern}</pattern>
+        </encoder>
+    </appender>
+
+    <root level="ERROR">
+        <appender-ref ref="STDOUT" />
+    </root>
+
+</configuration>
\ No newline at end of file
index 148e8fc..890cdeb 100644 (file)
             <artifactId>openecomp-facade-core</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>io.swagger</groupId>
-            <artifactId>swagger-annotations</artifactId>
-            <version>${swagger.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.openecomp.sdc</groupId>
             <artifactId>openecomp-sdc-datatypes-lib</artifactId>
index e3fb799..758461c 100644 (file)
             <version>1.2.3</version>
             <scope>provided</scope>
         </dependency>
-        <dependency>
-            <groupId>javax.servlet</groupId>
-            <artifactId>servlet-api</artifactId>
-            <version>${servlet.version}</version>
-            <scope>provided</scope>
-        </dependency>
         <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
index 795d64d..b08067b 100644 (file)
             <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
+
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <scope>test</scope>
+            <version>${mockito.all.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.openecomp.sdc.core</groupId>
             <artifactId>openecomp-utilities-lib</artifactId>
 
     </dependencies>
 
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>${mvn.surefire.version}</version>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.apache.maven.surefire</groupId>
+                        <artifactId>surefire-junit47</artifactId>
+                        <version>${mvn.surefire.version}</version>
+                    </dependency>
+                </dependencies>
+                <configuration>
+                    <parallel>classes</parallel>
+                    <threadCount>1</threadCount>
+                    <forkCount>0</forkCount>
+                    <printSummary>false</printSummary>
+                    <redirectTestOutputToFile>true</redirectTestOutputToFile>
+                    <rerunFailingTestsCount>1</rerunFailingTestsCount>
+                    <additionalClasspathElements>
+                        <additionalClasspathElement>${project.basedir}/src/test/resources</additionalClasspathElement>
+                    </additionalClasspathElements>
+                    <systemPropertyVariables>
+                        <logback.configurationFile>src/test/resources/logback-test.xml</logback.configurationFile>
+                    </systemPropertyVariables>
+                    <dependenciesToScan>
+                        org.openecomp.sdc:build-helper
+                    </dependenciesToScan>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+
 </project>
index 32315d1..2391560 100644 (file)
@@ -21,8 +21,8 @@ import static org.openecomp.sdc.translator.services.heattotosca.globaltypes.Glob
 import org.openecomp.core.utilities.orchestration.OnboardingTypesEnum;\r
 import org.openecomp.sdc.common.errors.CoreException;\r
 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;\r
-import org.testng.Assert;\r
-import org.testng.annotations.Test;\r
+import org.junit.Assert;\r
+import org.junit.Test;\r
 \r
 import java.util.List;\r
 import java.util.Map;\r
@@ -31,10 +31,14 @@ import java.util.stream.Collectors;
 \r
 public class GlobalTypesServiceTemplatesTest {\r
 \r
-  @Test(expectedExceptions = CoreException.class,\r
-      expectedExceptionsMessageRegExp = "Failed to generate globalTypes")\r
+  @Test\r
   public void testGetGlobalTypesServiceTemplatesOnboardingMethodNull() {\r
-    Map<String, ServiceTemplate> globalTypesServiceTemplates = getGlobalTypesServiceTemplates(null);\r
+    try {\r
+      Map<String, ServiceTemplate> globalTypesServiceTemplates = getGlobalTypesServiceTemplates(null);\r
+      Assert.fail();\r
+    }catch(CoreException ce){\r
+      Assert.assertEquals(ce.getMessage(), "Failed to generate globalTypes");\r
+    }\r
   }\r
 \r
   @Test\r
index c4a83e0..2387390 100644 (file)
@@ -19,9 +19,10 @@ package org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslati
 import static org.junit.Assert.assertEquals;
 
 import org.apache.commons.collections4.MapUtils;
-import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.TestName;
 import org.openecomp.core.translator.api.HeatToToscaTranslator;
 import org.openecomp.core.translator.datatypes.TranslatorOutput;
 import org.openecomp.core.translator.factory.HeatToToscaTranslatorFactory;
@@ -33,7 +34,6 @@ import org.openecomp.sdc.common.errors.ErrorCode;
 import org.openecomp.sdc.common.togglz.ToggleableFeature;
 import org.openecomp.sdc.datatypes.error.ErrorLevel;
 import org.openecomp.sdc.datatypes.error.ErrorMessage;
-import org.openecomp.sdc.tosca.services.ToscaFileOutputService;
 import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl;
 import org.openecomp.sdc.translator.TestUtils;
 import org.togglz.testing.TestFeatureManager;
@@ -42,7 +42,7 @@ import org.togglz.testing.TestFeatureManagerProvider;
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.FileInputStream;
-import java.io.FileOutputStream;
+import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.net.URL;
 import java.util.HashMap;
@@ -59,7 +59,11 @@ public class BaseFullTranslationTest {
   public static final String IN_POSTFIX = "/in";
   public static final String OUT_POSTFIX = "/out";
 
+  @Rule
+  public TestName name = new TestName();
+
   protected static TestFeatureManager manager;
+  private static File tempDir = new File(System.getProperty("java.io.tmpdir"));
 
   @BeforeClass
   public static void enableToggleableFeatures(){
@@ -69,7 +73,6 @@ public class BaseFullTranslationTest {
   }
 
 
-  @AfterClass
   public static void disableToggleableFeatures() {
     manager.disableAll();
     manager = null;
@@ -77,16 +80,16 @@ public class BaseFullTranslationTest {
   }
 
   protected void testTranslationWithInit(String path) throws IOException {
-    File translatedZipFile = initTranslatorAndTranslate(path);
+    byte[] translatedZipFile = initTranslatorAndTranslate(path);
     testTranslation(path, translatedZipFile);
   }
 
-  protected File initTranslatorAndTranslate(String path) throws IOException {
+  protected byte[] initTranslatorAndTranslate(String path) throws IOException {
     HeatToToscaTranslator heatToToscaTranslator = HeatToToscaTranslatorFactory.getInstance().createInterface();
     return translateZipFile(path, heatToToscaTranslator);
   }
 
-  protected void testTranslation(String basePath, File translatedZipFile) throws IOException {
+  protected void testTranslation(String basePath, byte[] translatedZipFile) throws IOException {
 
     URL url = BaseFullTranslationTest.class.getResource(basePath + OUT_POSTFIX);
     Set<String> expectedResultFileNameSet = new HashSet<>();
@@ -103,8 +106,8 @@ public class BaseFullTranslationTest {
       }
     }
 
-    try (FileInputStream fis = new FileInputStream(translatedZipFile);
-         ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis))) {
+    try (ByteArrayInputStream fis = new ByteArrayInputStream(translatedZipFile);BufferedInputStream bis = new BufferedInputStream(fis);
+         ZipInputStream zis = new ZipInputStream(bis)) {
       ZipEntry entry;
       String name;
       String expected;
@@ -127,10 +130,9 @@ public class BaseFullTranslationTest {
       }
     }
     assertEquals(0, expectedResultFileNameSet.size());
-    translatedZipFile.delete();
   }
 
-  private File translateZipFile(String basePath, HeatToToscaTranslator heatToToscaTranslator) throws IOException {
+  private byte[] translateZipFile(String basePath, HeatToToscaTranslator heatToToscaTranslator) throws IOException {
     URL inputFilesUrl = this.getClass().getResource(basePath + IN_POSTFIX);
     String path = inputFilesUrl.getPath();
     TestUtils.addFilesToTranslator(heatToToscaTranslator, path);
@@ -144,15 +146,9 @@ public class BaseFullTranslationTest {
           .withId("Validation Error").withCategory(ErrorCategory.APPLICATION).build());
     }
 
-    File file = File.createTempFile("VSP", "zip");
-
-    try (FileOutputStream fos = new FileOutputStream(file)) {
-      ToscaFileOutputService toscaFileOutputService = new ToscaFileOutputServiceCsarImpl();
-      fos.write(
-          toscaFileOutputService.createOutputFile(translatorOutput.getToscaServiceModel(), null));
-    }
+    byte[] data = new ToscaFileOutputServiceCsarImpl().createOutputFile(translatorOutput.getToscaServiceModel(), null);
 
-    return file;
+    return data;
   }
 
   private String getErrorAsString(Map<String, List<ErrorMessage>> errorMessages) {
index ddc1342..8820bc1 100644 (file)
@@ -31,10 +31,11 @@ import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidati
 import static org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.ConsolidationDataTestUtil.validateVolumeInConsolidationData;
 
 import org.apache.commons.collections4.MapUtils;
-import org.junit.AfterClass;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.BeforeClass;
+import org.junit.Rule;
+import org.junit.rules.TestName;
 import org.openecomp.core.translator.datatypes.TranslatorOutput;
 import org.openecomp.core.utilities.file.FileUtils;
 import org.openecomp.core.utilities.json.JsonUtil;
@@ -49,7 +50,6 @@ import org.openecomp.sdc.heat.datatypes.manifest.FileData;
 import org.openecomp.sdc.heat.datatypes.manifest.ManifestContent;
 import org.openecomp.sdc.heat.datatypes.manifest.ManifestFile;
 import org.openecomp.sdc.tosca.datatypes.model.ServiceTemplate;
-import org.openecomp.sdc.tosca.services.ToscaFileOutputService;
 import org.openecomp.sdc.tosca.services.impl.ToscaFileOutputServiceCsarImpl;
 import org.openecomp.sdc.translator.TestUtils;
 import org.openecomp.sdc.translator.datatypes.heattotosca.TranslationContext;
@@ -64,11 +64,8 @@ import org.openecomp.sdc.translator.services.heattotosca.buildconsolidationdata.
 import org.togglz.testing.TestFeatureManager;
 import org.togglz.testing.TestFeatureManagerProvider;
 
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.IOException;
+
+import java.io.*;
 import java.net.URL;
 import java.util.Collection;
 import java.util.HashMap;
@@ -86,9 +83,14 @@ public class BaseResourceTranslationTest {
   protected String outputFilesPath;
   protected TranslationContext translationContext;
 
+  @Rule
+  public TestName name = new TestName();
+
   private String zipFilename = "VSP.zip";
   private TranslationService translationService;
-  private File translatedZipFile;
+  private byte[] translatedZipFile;
+
+  private static File tempDir = new File(System.getProperty("java.io.tmpdir"));
 
   private Map<String, byte[]> expectedResultMap = new HashMap<>();
   private Set<String> expectedResultFileNameSet = new HashSet<>();
@@ -101,7 +103,6 @@ public class BaseResourceTranslationTest {
     manager.enableAll();
   }
 
-  @AfterClass
   public static void disableToggleableFeatures() {
     manager.disableAll();
     manager = null;
@@ -113,6 +114,7 @@ public class BaseResourceTranslationTest {
     initTranslatorAndTranslate();
   }
 
+
   protected void initTranslatorAndTranslate() throws IOException {
     translationService = new TranslationService();
     translationContext = new TranslationContext();
@@ -134,8 +136,8 @@ public class BaseResourceTranslationTest {
       }
     }
 
-    try (FileInputStream fis = new FileInputStream(translatedZipFile);
-         ZipInputStream zis = new ZipInputStream(new BufferedInputStream(fis))) {
+    try (ByteArrayInputStream fis = new ByteArrayInputStream(translatedZipFile); BufferedInputStream bis = new BufferedInputStream(fis);
+         ZipInputStream zis = new ZipInputStream(bis)) {
       ZipEntry entry;
       String name;
       String expected;
@@ -158,10 +160,9 @@ public class BaseResourceTranslationTest {
       }
     }
     assertEquals(0, expectedResultFileNameSet.size());
-    translatedZipFile.delete();
   }
 
-  private File translateZipFile() throws IOException {
+  private byte[] translateZipFile() throws IOException {
     URL inputFilesUrl = this.getClass().getResource(inputFilesPath);
     String path = inputFilesUrl.getPath();
     addFilesToTranslator(translationContext, path);
@@ -174,17 +175,13 @@ public class BaseResourceTranslationTest {
           "Error in validation " + getErrorAsString(translatorOutput.getErrorMessages()))
           .withId("Validation Error").withCategory(ErrorCategory.APPLICATION).build());
     }
-    File file = File.createTempFile("VSP", "zip");
 
-    try (FileOutputStream fos = new FileOutputStream(file)) {
-      ToscaFileOutputService toscaFileOutputService = new ToscaFileOutputServiceCsarImpl();
-      fos.write(
-          toscaFileOutputService.createOutputFile(translatorOutput.getToscaServiceModel(), null));
-    }
+    byte[] data = new ToscaFileOutputServiceCsarImpl().createOutputFile(translatorOutput.getToscaServiceModel(), null);
 
-    return file;
+    return data;
   }
 
+
   private String getErrorAsString(Map<String, List<ErrorMessage>> errorMessages) {
     StringBuilder sb = new StringBuilder();
     errorMessages.entrySet().forEach(
index 361888f..1c44a30 100644 (file)
@@ -25,21 +25,21 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.compositi
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.commands.impl.ComputeNewNodeTemplateIdGenerator;
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.to.UnifiedCompositionTo;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
 
-public class ComputeNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+public class ComputeNewNodeTemplateIdGeneratorTest  {
 
   private static final String SERVER_PCM = "server_pcm";
-  private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+  private static UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
 
   @BeforeClass
-  public void setUp(){
+  public static void setItUp(){
     unifiedSubstitutionNodeTemplateIdGenerator = new ComputeNewNodeTemplateIdGenerator();
   }
 
index ad39bb7..c00a9b2 100644 (file)
@@ -32,9 +32,9 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.compositi
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.composition.to.UnifiedCompositionTo;
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.ComputeTemplateConsolidationData;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -42,16 +42,16 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-public class PortNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+public class PortNewNodeTemplateIdGeneratorTest {
 
   private static final String SERVER_PCM = "server_pcm";
   private static final String PCM_PORT_0 = "pcm_port_0";
   private static final String PCM_PORT_1 = "pcm_port_1";
 
-  private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+  private static UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
 
   @BeforeClass
-  public void setUp(){
+  public static void setItUp(){
     unifiedSubstitutionNodeTemplateIdGenerator = new PortNewNodeTemplateIdGenerator();
   }
 
index 63f1262..b33df90 100644 (file)
@@ -30,9 +30,9 @@ import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolida
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.PortTemplateConsolidationData;
 import org.openecomp.sdc.translator.datatypes.heattotosca.unifiedmodel.consolidation.SubInterfaceTemplateConsolidationData;
 import org.openecomp.sdc.translator.services.heattotosca.impl.resourcetranslation.BaseResourceTranslationTest;
-import org.testng.Assert;
-import org.testng.annotations.BeforeClass;
-import org.testng.annotations.Test;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -41,7 +41,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-public class SubInterfaceNewNodeTemplateIdGeneratorTest extends BaseResourceTranslationTest {
+public class SubInterfaceNewNodeTemplateIdGeneratorTest {
 
   private static final String VDBE_UNTR_1_PORT = "vdbe_untr_1_port";
   private static final String VDBE_UNTR_1_SUBPORTS = "vdbe_untr_1_subports";
@@ -50,10 +50,10 @@ public class SubInterfaceNewNodeTemplateIdGeneratorTest extends BaseResourceTran
   private static final String SUBINTERFACE_TYPE_NESTED =
       "org.openecomp.resource.abstract.nodes.heat.subinterface.nested";
 
-  private UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
+  private static UnifiedSubstitutionNodeTemplateIdGenerator unifiedSubstitutionNodeTemplateIdGenerator;
 
   @BeforeClass
-  public void setUp(){
+  public static void setItUp(){
     unifiedSubstitutionNodeTemplateIdGenerator = new SubInterfaceNewNodeTemplateIdGenerator();
   }
 
index 01fce01..cedb850 100644 (file)
@@ -80,6 +80,7 @@
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
             <version>${testng.version}</version>
+            <scope>test</scope>
         </dependency>
     </dependencies>
 
index fe342f5..ad49dac 100644 (file)
@@ -23,7 +23,7 @@
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
             <version>${testng.version}</version>
-            <scope>provided</scope>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>org.openecomp.sdc</groupId>
index 068e147..13f2d63 100644 (file)
@@ -21,7 +21,7 @@ import org.openecomp.sdc.validation.ResourceValidator;
 import org.openecomp.sdc.validation.ValidationContext;
 import org.openecomp.sdc.validation.Validator;
 import org.openecomp.sdc.validation.base.ResourceBaseValidator;
-import org.testng.Assert;
+
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -169,9 +169,11 @@ public class ValidationTestUtil {
   }
 
   public static void validateErrorMessage(String actualMessage, String expected, String... params) {
-    Assert.assertEquals(actualMessage.replace("\n", "").replace("\r", ""),
+    if (!Objects.equals(actualMessage.replace("\n", "").replace("\r", ""),
         ErrorMessagesFormatBuilder.getErrorWithParameters(expected, params).replace("\n", "")
-            .replace("\r", ""));
+            .replace("\r", ""))){
+      throw new RuntimeException("validation failed");
+    }
 
   }
 
index 05715e4..ef5ff18 100644 (file)
             <artifactId>openecomp-nosqldb-api</artifactId>
             <version>${project.version}</version>
         </dependency>
-        <dependency>
-            <groupId>org.freemarker</groupId>
-            <artifactId>freemarker</artifactId>
-            <version>${freemarker.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.testng</groupId>
             <artifactId>testng</artifactId>
             <version>${project.version}</version>
             <scope>test</scope>
         </dependency>
-        <dependency>
-            <groupId>org.apache.xmlgraphics</groupId>
-            <artifactId>fop</artifactId>
-            <version>${fop.version}</version>
-        </dependency>
         <dependency>
             <groupId>com.fasterxml.jackson.dataformat</groupId>
             <artifactId>jackson-dataformat-xml</artifactId>
@@ -69,6 +59,7 @@
             <groupId>org.mockito</groupId>
             <artifactId>mockito-all</artifactId>
             <version>${mockito.all.version}</version>
+            <scope>test</scope>
         </dependency>
         <dependency>
             <groupId>junit</groupId>
index 5138f62..c6f8aa1 100644 (file)
             <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-all</artifactId>
+            <scope>test</scope>
+            <version>${mockito.all.version}</version>
+        </dependency>
         <dependency>
             <groupId>org.openecomp.sdc</groupId>
             <artifactId>openecomp-sdc-logging-core</artifactId>
index 598f973..5437a5d 100644 (file)
             <version>${togglz.version}</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.openecomp.sdc</groupId>
+            <artifactId>build-helper</artifactId>
+            <version>${project.version}</version>
+            <scope>runtime</scope>
+        </dependency>
+
     </dependencies>
 
     <build>
diff --git a/openecomp-be/tools/build-helper/pom.xml b/openecomp-be/tools/build-helper/pom.xml
new file mode 100644 (file)
index 0000000..bcdf52a
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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>build-helper</artifactId>
+
+    <parent>
+        <artifactId>sdc-onboarding</artifactId>
+        <groupId>org.openecomp.sdc</groupId>
+        <version>1.2.0-SNAPSHOT</version>
+        <relativePath>../../../onboarding</relativePath>
+    </parent>
+
+    <properties>
+        <jacoco.skip>true</jacoco.skip>
+        <pmd.skip>true</pmd.skip>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+
+</project>
diff --git a/openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java b/openecomp-be/tools/build-helper/src/main/java/org/openecomp/onboarding/build/test/StaleCodeDetectionTest.java
new file mode 100644 (file)
index 0000000..69f7735
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright © 2016-2017 European Support Limited
+ *
+ * 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 a "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.openecomp.onboarding.build.test;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.io.File;
+import java.nio.file.Paths;
+import java.util.Arrays;
+import java.util.Collections;
+
+public class StaleCodeDetectionTest {
+
+    private static final String JAVA_EXT = ".java";
+    private static final String CLASS_EXT = ".class";
+
+    @Test
+    public void checkIfStale() {
+
+        String moduleLocation = System.getProperty("basedir");
+        if (isStale(moduleLocation + File.separator + "target" + File.separator + "test-classes",
+                moduleLocation + File.separator + "src" + File.separator + "test" + File.separator + "java")) {
+            Assert.fail("****** Please remove 'target' directory manually under path " + moduleLocation);
+        }
+    }
+
+    private boolean isStale(String compiledCodeLocation, String javaSourceLocation) {
+        File compiledFiles = new File(compiledCodeLocation);
+        File[] list = compiledFiles.listFiles((dir, file) -> file.endsWith(CLASS_EXT) && file.indexOf('$') == -1);
+        if (list == null || list.length == 0) {
+            return false;
+        }
+        File candidate = Collections.min(Arrays.asList(list),
+                (file1, file2) -> file1.lastModified() >= file2.lastModified() ? 1 : -1);
+        String sourceFilePath = javaSourceLocation + candidate.getAbsolutePath().replace(compiledCodeLocation, "")
+                                                              .replace(CLASS_EXT, JAVA_EXT);
+        return !Paths.get(sourceFilePath).toFile().exists();
+    }
+}
index 37911dc..5a43021 100644 (file)
@@ -60,7 +60,7 @@
             </includes>
         </fileSet>
         <fileSet>
-            <directory>./target</directory>
+            <directory>./target/api-docs</directory>
             <outputDirectory>/</outputDirectory>
             <includes>
                 <include>${api.json.file}</include>
index 8432276..f470c0e 100644 (file)
 
     <properties>
         <plugin.name>api-docs</plugin.name>
-        <package.dir>${basedir}/${plugin.name}</package.dir>
         <rest.api.dir>${basedir}/../../api/openecomp-sdc-rest-webapp/onboarding-rest-war</rest.api.dir>
         <api.json.file>api.json</api.json.file>
-        <api.html.file>api.html</api.html.file>
     </properties>
     <build>
         <plugins>
-            <!-- ============================================= -->
-            <!-- Clean api-docs folder -->
-            <!-- ============================================= -->
-            <plugin>
-                <artifactId>maven-clean-plugin</artifactId>
-                <version>2.6.1</version>
-                <executions>
-                    <execution>
-                        <id>clean.dist.folder</id>
-                        <phase>clean</phase>
-                        <goals>
-                            <goal>clean</goal>
-                        </goals>
-                        <configuration>
-                            <filesets>
-                                <fileset>
-                                    <directory>${basedir}/api-docs</directory>
-                                </fileset>
-                            </filesets>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-deploy-plugin</artifactId>
@@ -72,9 +47,7 @@
                         <configuration>
                             <tasks>
                                 <echo message="Copy api json files"/>
-                                <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${basedir}/target/${api.json.file}"/>
-                                <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${package.dir}/${api.json.file}"/>
-                                <copy file="${rest.api.dir}/target/generated/${api.html.file}" tofile="${package.dir}/${api.html.file}"/>
+                                <copy file="${rest.api.dir}/target/generated/swagger-ui/swagger.json" tofile="${basedir}/target/${plugin.name}/${api.json.file}"/>
                             </tasks>
                         </configuration>
                         <goals>
@@ -90,7 +63,7 @@
                 <configuration>
                     <descriptor>assembly/swagger.xml</descriptor>
                     <finalName>${plugin.name}</finalName>
-                    <outputDirectory>${package.dir}</outputDirectory>
+                    <outputDirectory>${basedir}/target/${plugin.name}</outputDirectory>
                                        <appendAssemblyId>false</appendAssemblyId>
                 </configuration>
                 <executions>
index aef0eb7..a1183b5 100644 (file)
             <artifactId>openecomp-sdc-vendor-software-product-manager</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.testng</groupId>
+            <artifactId>testng</artifactId>
+            <version>${testng.version}</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
     <artifactId>openecomp-zusammen-tools</artifactId>
     <groupId>org.openecomp.sdc.core.tools</groupId>
                 </executions>
             </plugin>
 
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-dependency-plugin</artifactId>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
                 <version>2.4</version>
-                <executions>
-                    <execution>
-                        <phase>package</phase>
-                    </execution>
-                </executions>
                 <configuration>
-                    <archive>
-                        <manifest>
-                            <addClasspath>true</addClasspath>
-                            <classpathLayoutType>custom</classpathLayoutType>
-                            <customClasspathLayout>
-                                lib/${artifact.artifactId}-${baseVersion}.${artifact.extension}
-                            </customClasspathLayout>
-                            <mainClass>org.openecomp.core.tools.main.ZusammenMainTool
-                            </mainClass>
-                        </manifest>
-                        <manifestEntries>
-                            <Class-Path>lib/</Class-Path>
-                        </manifestEntries>
-                    </archive>
+                    <outputDirectory>${project.build.directory}/lib</outputDirectory>
                 </configuration>
             </plugin>
 
                                 <fixcrlf srcdir="./" eol="unix"
                                          includes="zusammenMainTool.sh"/>
                             </tasks>
-                            <tasks>
-                                <replace file="src/main/resources/zusammenMainTool.sh" token="1.0-SNAPSHOT" value="${project.version}"/>
-                            </tasks>
-
                         </configuration>
                         <goals>
                             <goal>run</goal>
index 923115e..5a15f4f 100644 (file)
@@ -7,7 +7,6 @@
        </formats>
 
        <includeBaseDirectory>false</includeBaseDirectory>
-
        <files>
                <file>
                        <source>src/main/resources/zusammenMainTool.sh</source>
                        </includes>
                        <fileMode>0755</fileMode>
                </fileSet>
-               <fileSet>
-                       <directory>${basedir}/target</directory>
-                       <includes>
-                               <include>
-                                       openecomp-zusammen*.jar
-                               </include>
-                       </includes>
-                       <outputDirectory>/</outputDirectory>
-               </fileSet>
                <fileSet>
                        <directory>${basedir}/target/lib</directory>
                        <outputDirectory>/lib</outputDirectory>
                </fileSet>
+
        </fileSets>
+
 </assembly>
 
index 61388a1..025ecab 100644 (file)
@@ -23,5 +23,5 @@ else
 fi
 echo "Configuration file location:  ${CONF_FILE_LOCATION}"
 
-java -Dconfig.home=/opt/app/jetty/base/be/config -Dlog.home=/apps/jetty/base/be/logs -Dconfiguration.yaml=${CONF_FILE_LOCATION}  -classpath openecomp-zusammen-tools-1.2.0-SNAPSHOT.jar:lib/* org.openecomp.core.tools.main.ZusammenMainTool $1 $2 $3 $4 $5 $6
+java -Dconfig.home=/opt/app/jetty/base/be/config -Dlog.home=/apps/jetty/base/be/logs -Dconfiguration.yaml=${CONF_FILE_LOCATION}  -classpath lib/* org.openecomp.core.tools.main.ZusammenMainTool $1 $2 $3 $4 $5 $6
 STATUS="${?}" echo "${STATUS}"