1 package org.openecomp.sdc.impl;
3 import org.apache.commons.io.IOUtils;
4 import org.openecomp.sdc.tosca.parser.api.ISdcCsarHelper;
5 import org.openecomp.sdc.tosca.parser.config.ConfigurationManager;
6 import org.openecomp.sdc.tosca.parser.config.JtoscaValidationIssueConfiguration;
7 import org.openecomp.sdc.tosca.parser.exceptions.SdcToscaParserException;
8 import org.openecomp.sdc.toscaparser.api.common.JToscaValidationIssue;
9 import org.testng.annotations.AfterClass;
10 import org.testng.annotations.BeforeClass;
11 import org.testng.annotations.Test;
13 import java.io.IOException;
15 import java.util.List;
16 import java.util.stream.Collectors;
18 import static org.testng.Assert.assertEquals;
20 public class ToscaParserValidationIssueTest extends SdcToscaParserBasicTest {
21 protected static ConfigurationManager configurationManager = ConfigurationManager.getInstance();
24 public void loadJtoscaValidationIssueConfiguration() throws IOException {
25 //load the tests dedicated configuration
26 configurationManager.setJtoscaValidationIssueConfiguration( "jtosca-validation-issue-configuration-test.yaml");
27 factory.setConfigurationManager(configurationManager);
31 public void loadJtoscaValidationIssueOriginalConfiguration() throws IOException {
32 //load the tests dedicated configuration
33 configurationManager.setJtoscaValidationIssueConfiguration("jtosca-validation-issue-configuration.yaml");
34 factory.setConfigurationManager(configurationManager);
40 public void testNoValidationIssues() throws SdcToscaParserException {
41 ISdcCsarHelper rainyCsarHelper = getCsarHelper("csars/service-ServiceFdnt-csar-rainy.csar");//conformance level 3.0
43 //List<JToscaValidationIssue> notAnalyzedReport = factory.getNotAnalyzadExceptions();
44 //assertEquals( notAnalyzedReport.size(),0);
45 List<JToscaValidationIssue> warningsReport = factory.getWarningExceptions();
46 assertEquals( warningsReport.size(),0);
47 List<JToscaValidationIssue> criticalsReport = factory.getCriticalExceptions();
48 assertEquals( criticalsReport.size(),0);
51 public void testGetLowSinceConformanceLevel() throws SdcToscaParserException {
52 ISdcCsarHelper fdntCsarHelperWithInputs = getCsarHelper("csars/service-NfodService-csar.csar");//conformance level 3.0
55 List<JToscaValidationIssue> notAnalyzedReport = factory.getNotAnalyzadExceptions();
56 assertEquals( notAnalyzedReport.size(),10);
58 assertEquals( notAnalyzedReport.stream().filter(n->n.getCode().equals("JE003")).collect(Collectors.toList()).size(), 2);
59 assertEquals( notAnalyzedReport.stream().filter(n->n.getCode().equals("JE235")).collect(Collectors.toList()).size(), 7);
60 assertEquals( notAnalyzedReport.stream().filter(n->n.getCode().equals("JE236")).collect(Collectors.toList()).size(), 1);
61 List<JToscaValidationIssue> warningsReport = factory.getWarningExceptions();
62 assertEquals( warningsReport.size(),14);
63 assertEquals( warningsReport.stream().filter(w->w.getCode().equals("JE006")).collect(Collectors.toList()).size(), 13);
65 assertEquals( warningsReport.stream().filter(w->w.getCode().equals("JE004")).collect(Collectors.toList()).size(), 1);
66 List<JToscaValidationIssue> criticalsReport = factory.getCriticalExceptions();
67 assertEquals( criticalsReport.size(),0);
70 @Test(expectedExceptions = SdcToscaParserException.class)
71 public void testCriticalIssueThrowsSdcToscaParserException() throws SdcToscaParserException {
72 getCsarHelper("csars/service-Nfod2images-csar.csar");//conformance level 4.0
76 public void testMultiSinceConformanceLevelIssues() {
78 ISdcCsarHelper Nfod2images = getCsarHelper("csars/service-Nfod2images-csar.csar");//conformance level 4.0
79 } catch (SdcToscaParserException e) {
80 System.out.println("SdcToscaParserException is caught here - this is WAD in this specific test.");
82 List<JToscaValidationIssue> notAnalyzedReport = factory.getNotAnalyzadExceptions();
83 assertEquals(3, notAnalyzedReport.size());
84 List<JToscaValidationIssue> warningsReport = factory.getWarningExceptions();
85 assertEquals( 0, warningsReport.size());
86 List<JToscaValidationIssue> criticalsReport = factory.getCriticalExceptions();
87 assertEquals( 22, criticalsReport.size());
88 //JE006 multy values sinceCsarConformanceLevel
89 assertEquals( criticalsReport.stream().filter(c->c.getCode().equals("JE006")).collect
90 (Collectors.toList()).size(), 18);
91 assertEquals( criticalsReport.stream().filter(c->c.getCode().equals("JE003")).collect
92 (Collectors.toList()).size(), 4);