json/yaml validation for models 75/48175/9
authordekstroza <dejan.kitic@ericsson.com>
Fri, 18 May 2018 13:42:24 +0000 (14:42 +0100)
committerMichael Lando <ml636r@att.com>
Sun, 26 Aug 2018 22:58:49 +0000 (22:58 +0000)
Introduced yaml-json-validator-maven-plugin
   a. Runs in validate phase
   b. For now only validate /import/tosca subfolders
   c. Validates both yml and json files

Change-Id: I53513321c4378485dd821c251de5555050313911
Issue-ID: SDC-1343
Signed-off-by: dekstroza <dejan.kitic@ericsson.com>
17 files changed:
asdctool/pom.xml
asdctool/src/test/resources/graphError.json
catalog-be/pom.xml
catalog-be/src/test/resources/config/mysql-type.yml
catalog-dao/pom.xml
catalog-fe/pom.xml
catalog-model/pom.xml
catalog-ui/pom.xml
common-app-api/pom.xml
common-be/pom.xml
pom.xml
sdc-os-chef/pom.xml
security-utils/pom.xml
test-apis-ci/pom.xml
test-apis-ci/src/test/resources/config.json
ui-ci/pom.xml
utils/webseal-simulator/pom.xml

index 9a6ef22..010edce 100644 (file)
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
        <profiles>
index b7ccf92..a5a51d6 100644 (file)
@@ -1 +1 @@
-(("ERRRRORROROR{{{\"container\":zxcvfxcvxcvxc{\"accessContcxvxcvrolPolicyIDs\":[\"/in-cse/acp-7cxvxcvxcvx1663881\"],\"creationTime\":\"20170630T111742\",\"currentByteSize\":0,\"currentNrOfInstances\":0,\"expirationTime\":\"20180630T111742\",\"lastModifiedTime\":\"20170630T111742\",\"latest\":\"/in-cse/in-name/cnt_900407520/la\",\"maxByteSize\":10000,\"maxInstanceAge\":0,\"maxNrOfInstances\":10,\"oldest\":\"/in-cse/in-name/cnt_900407520/ol\",\"parentID\":\"/in-cse\",\"resourceID\":\"/in-cse/cnt-900407520\",\"resourceName\":((\"cnt_900407520\",\"resourceTypeR\"RXCFV:\"int3\",\"stateTag\":0}}"
\ No newline at end of file
+"ERRRRORROROR{{{\"container\":zxcvfxcvxcvxc{\"accessContcxvxcvrolPolicyIDs\":[\"/in-cse/acp-7cxvxcvxcvx1663881\"],\"creationTime\":\"20170630T111742\",\"currentByteSize\":0,\"currentNrOfInstances\":0,\"expirationTime\":\"20180630T111742\",\"lastModifiedTime\":\"20170630T111742\",\"latest\":\"/in-cse/in-name/cnt_900407520/la\",\"maxByteSize\":10000,\"maxInstanceAge\":0,\"maxNrOfInstances\":10,\"oldest\":\"/in-cse/in-name/cnt_900407520/ol\",\"parentID\":\"/in-cse\",\"resourceID\":\"/in-cse/cnt-900407520\",\"resourceName\":((\"cnt_900407520\",\"resourceTypeR\"RXCFV:\"int3\",\"stateTag\":0}}"
\ No newline at end of file
index 068eecf..f0113df 100644 (file)
@@ -1,5 +1,5 @@
 <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">
+  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>catalog-be</artifactId>
             <version>${jersey-bom.version}</version>
             <scope>compile</scope>
         </dependency>
-
         <dependency>
             <groupId>org.glassfish.jersey.ext</groupId>
             <artifactId>jersey-spring4</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
-
-
-
         <dependency>
             <groupId>com.att.aft</groupId>
             <artifactId>dme2</artifactId>
             <scope>test</scope>
         </dependency>
 
-
         <dependency>
             <groupId>org.glassfish.jersey.core</groupId>
             <artifactId>jersey-client</artifactId>
             <version>${jersey-bom.version}</version>
-
         </dependency>
 
         <dependency>
             <artifactId>cucumber-junit</artifactId>
             <scope>test</scope>
         </dependency>
-       
-       <dependency>
-               <groupId>org.jmockit</groupId>
-                       <artifactId>jmockit</artifactId>
-                       <version>${jmockit.version}</version>
-                       <scope>test</scope>
-               </dependency>
+
+        <dependency>
+            <groupId>org.jmockit</groupId>
+            <artifactId>jmockit</artifactId>
+            <version>${jmockit.version}</version>
+            <scope>test</scope>
+        </dependency>
 
         <dependency>
             <groupId>com.google.code.bean-matchers</groupId>
             <version>0.11</version>
             <scope>test</scope>
         </dependency>
-               
     </dependencies>
-       
+
     <build>
 
         <finalName>${project.artifactId}-${project.version}</finalName>
                     <attachClasses>true</attachClasses>
                 </configuration>
             </plugin>
+            <plugin>
+                <groupId>com.github.sylvainlaurent.maven</groupId>
+                <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>validate</goal>
+                        </goals>
+                        <configuration>
+                            <validationSets>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.y*ml</include>
+                                        <include>src/test/resources/**/*.y*ml</include>
+                                    </includes>
+                                </validationSet>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.json</include>
+                                        <include>src/test/resources/**/*.json</include>
+                                    </includes>
+                                </validationSet>
+                            </validationSets>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
             <plugin>
                 <groupId>com.jcabi</groupId>
                 <artifactId>jcabi-maven-plugin</artifactId>
                     </execution>
                 </executions>
             </plugin>
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
                     </execution>
                 </executions>
             </plugin>
-
-
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-resources-plugin</artifactId>
                 </plugins>
             </build>
         </profile>
-
-
     </profiles>
-</project>
+</project>
\ No newline at end of file
index f1985a0..c275537 100644 (file)
@@ -40,7 +40,7 @@ node_types:
       db_password:
         type: string
         default: pass
-        description: The password associated with the user account provided in the \91db_user\92 property.
+        description: The password associated with the user account provided in the db_user property.
       bind_address:
         type: boolean
         default: true
index 596278e..ccb8085 100644 (file)
                                                </lifecycleMappingMetadata>
                                        </configuration>
                                </plugin>
+                               <plugin>
+                                       <groupId>com.github.sylvainlaurent.maven</groupId>
+                                       <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                                       <executions>
+                                               <execution>
+                                                       <id>validate</id>
+                                                       <phase>validate</phase>
+                                                       <goals>
+                                                               <goal>validate</goal>
+                                                       </goals>
+                                                       <configuration>
+                                                               <validationSets>
+                                                                       <validationSet>
+                                                                               <includes>
+                                                                                       <include>src/main/resources/**/*.y*ml</include>
+                                                                                       <include>src/test/resources/**/*.y*ml</include>
+                                                                               </includes>
+                                                                       </validationSet>
+                                                                       <validationSet>
+                                                                               <includes>
+                                                                                       <include>src/main/resources/**/*.json</include>
+                                                                                       <include>src/test/resources/**/*.json</include>
+                                                                               </includes>
+                                                                       </validationSet>
+                                                               </validationSets>
+                                                       </configuration>
+                                               </execution>
+                                       </executions>
+                               </plugin>
                        </plugins>
                </pluginManagement>
        </build>
index 66f718a..3322185 100644 (file)
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
 
                </plugins>
 
index e119398..0a6c7cc 100644 (file)
                                        <skip>true</skip>
                                </configuration>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
 </project>
\ No newline at end of file
index 14b3267..d9c842e 100644 (file)
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.github.sylvainlaurent.maven</groupId>
+                <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>validate</goal>
+                        </goals>
+                        <configuration>
+                            <validationSets>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.y*ml</include>
+                                        <include>src/test/resources/**/*.y*ml</include>
+                                    </includes>
+                                </validationSet>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.json</include>
+                                        <include>src/test/resources/**/*.json</include>
+                                    </includes>
+                                </validationSet>
+                            </validationSets>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
                </plugins>
        </build>
index 7a8077e..5a0824b 100644 (file)
                                        <skip>true</skip>
                                </configuration>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
 </project>
\ No newline at end of file
index 1b0dcd0..1f55800 100644 (file)
                </dependency>
 
        </dependencies>
+       <build>
+               <plugins>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>
+       </build>
 
 </project>
diff --git a/pom.xml b/pom.xml
index 38c63ec..1fc2789 100644 (file)
--- a/pom.xml
+++ b/pom.xml
                     <artifactId>nexus-staging-maven-plugin</artifactId>
                     <version>1.6.8</version>
                 </plugin>
+                <plugin>
+                    <groupId>com.github.sylvainlaurent.maven</groupId>
+                    <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                    <version>1.0.1</version>
+                </plugin>
             </plugins>
         </pluginManagement>
 
index a5d69f1..6dc5544 100644 (file)
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.github.sylvainlaurent.maven</groupId>
+                <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>validate</goal>
+                        </goals>
+                        <configuration>
+                            <validationSets>
+                                <validationSet>
+                                    <includes>
+                                        <include>**/*.y*ml</include>
+                                    </includes>
+                                </validationSet>
+                                <validationSet>
+                                    <includes>
+                                        <include>**/*.json</include>
+                                    </includes>
+                                </validationSet>
+                            </validationSets>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 
index c0361ed..a0df703 100644 (file)
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
 
index ac3cdd7..14d6611 100644 (file)
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>com.github.sylvainlaurent.maven</groupId>
+                <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>validate</id>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>validate</goal>
+                        </goals>
+                        <configuration>
+                            <validationSets>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.y*ml</include>
+                                        <include>src/test/resources/**/*.y*ml</include>
+                                    </includes>
+                                    <excludes>
+                                        <exclude>src/test/resources/CI/tests/importToscaResourceByCreateUrl/occurencyFalure*.y*ml</exclude>
+                                        <exclude>src/test/resources/CI/tests/importToscaResourceByCreateUrl/noContent*.y*ml</exclude>
+                                        <exclude>src/test/resources/CI/tests/HeatDeploymentArtifacts/invalid*.y*ml</exclude>
+                                    </excludes>
+                                </validationSet>
+                                <validationSet>
+                                    <includes>
+                                        <include>src/main/resources/**/*.json</include>
+                                        <include>src/test/resources/**/*.json</include>
+                                    </includes>
+                                    <excludes>
+                                        <exclude>src/test/resources/CI/tests/HeatDeploymentArtifacts/invalid*.json</exclude>
+                                    </excludes>
+                                </validationSet>
+                            </validationSets>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
     <profiles>
index 71c9d35..8690551 100644 (file)
@@ -1,12 +1,12 @@
 {
 
-catalogBeHost: behost,
-catalogFeHost: fehost,
-esHost: eshost,
-catalogFePort: 8080,
-catalogBePort: 8080,
-esPort: 9200,
-resourceConfigDir: "src/test/resources/CI/tests",
-componentsConfigDir: "src/test/resources/CI/components"
+"catalogBeHost": "behost",
+"catalogFeHost": "fehost",
+"esHost": "eshost",
+"catalogFePort": 8080,
+"catalogBePort": 8080,
+"esPort": 9200,
+"resourceConfigDir": "src/test/resources/CI/tests",
+"componentsConfigDir": "src/test/resources/CI/components"
 
 }
\ No newline at end of file
index 3295b3b..6745cc9 100644 (file)
                                        </execution>
                                </executions>
                        </plugin>
+                       <plugin>
+                               <groupId>com.github.sylvainlaurent.maven</groupId>
+                               <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <id>validate</id>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>validate</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <validationSets>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.y*ml</include>
+                                                                               <include>src/test/resources/**/*.y*ml</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                               <validationSet>
+                                                                       <includes>
+                                                                               <include>src/main/resources/**/*.json</include>
+                                                                               <include>src/test/resources/**/*.json</include>
+                                                                       </includes>
+                                                               </validationSet>
+                                                       </validationSets>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
                </plugins>
        </build>
        <profiles>
index dbdd1d9..b9f541b 100644 (file)
        </dependencies>
        <build>
                <finalName>WSSimulator-${project.version}</finalName>
+                       <plugins>
+                               <plugin>
+                                       <groupId>com.github.sylvainlaurent.maven</groupId>
+                                       <artifactId>yaml-json-validator-maven-plugin</artifactId>
+                                       <executions>
+                                               <execution>
+                                                       <id>validate</id>
+                                                       <phase>validate</phase>
+                                                       <goals>
+                                                               <goal>validate</goal>
+                                                       </goals>
+                                                       <configuration>
+                                                               <validationSets>
+                                                                       <validationSet>
+                                                                               <includes>
+                                                                                       <include>src/main/resources/**/*.y*ml</include>
+                                                                                       <include>src/test/resources/**/*.y*ml</include>
+                                                                               </includes>
+                                                                       </validationSet>
+                                                                       <validationSet>
+                                                                               <includes>
+                                                                                       <include>src/main/resources/**/*.json</include>
+                                                                                       <include>src/test/resources/**/*.json</include>
+                                                                               </includes>
+                                                                       </validationSet>
+                                                               </validationSets>
+                                                       </configuration>
+                                               </execution>
+                                       </executions>
+                               </plugin>
+                       </plugins>
        </build>
        
        <repositories>