2 package org.openecomp.mso.global_tests.soapui;
4 import static org.junit.Assert.*;
7 import java.io.IOException;
8 import java.lang.reflect.Method;
9 import java.nio.file.Files;
10 import java.nio.file.Paths;
11 import java.nio.file.StandardCopyOption;
14 import org.jboss.arquillian.container.test.api.Deployment;
15 import org.jboss.arquillian.container.test.api.RunAsClient;
16 import org.jboss.arquillian.junit.Arquillian;
17 import org.jboss.shrinkwrap.api.Archive;
18 import org.jboss.shrinkwrap.api.ShrinkWrap;
19 import org.jboss.shrinkwrap.api.spec.WebArchive;
20 import org.junit.After;
21 import org.junit.AfterClass;
22 import org.junit.BeforeClass;
23 import org.junit.FixMethodOrder;
24 import org.junit.runners.MethodSorters;
25 import org.junit.Test;
26 import org.junit.runner.RunWith;
28 import org.openecomp.mso.global_tests.ArquillianPackagerForITCases;
29 import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStepResult;
30 import com.eviware.soapui.model.testsuite.TestAssertion;
31 import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus;
32 import com.eviware.soapui.tools.SoapUITestCaseRunner;
34 @RunWith(Arquillian.class)
35 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
36 public class SoapUiITCase {
38 private static String jbossHost=System.getProperty("docker.hostname");
39 private static String jbossPort="18080";
41 @Deployment(name="mso-api-handler-infra",testable=false)
42 public static Archive<?> createMsoApiHandlerInfraWarDeployment () {
43 System.out.println("Deploying ApiHandler Infra WAR on default server");
44 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../mso-api-handlers/mso-api-handler-infra/target/", "mso-api-handler-infra*.war", "mso-api-handler-infra.war");
47 @Deployment(name="mso-vnf-adapter",testable=false)
48 public static Archive<?> createMsoVnfAdapterWarDeployment () {
49 System.out.println("Deploying VNF Adapter WAR on default server");
50 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-vnf-adapter/target/", "mso-vnf-adapter*.war", "mso-vnf-adapter.war");
53 @Deployment(name="mso-tenant-adapter",testable=false)
54 public static Archive<?> createMsoTenantAdapterWarDeployment () {
55 System.out.println("Deploying Tenant Adapter WAR on default server");
56 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-tenant-adapter/target/", "mso-tenant-adapter*.war", "mso-tenant-adapter.war");
59 @Deployment(name="mso-sdnc-adapter",testable=false)
60 public static Archive<?> createMsoSdncAdapterWarDeployment () {
61 System.out.println("Deploying SDNC Adapter WAR on default server");
62 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-sdnc-adapter/target/", "mso-sdnc-adapter*.war", "mso-sdnc-adapter.war");
65 @Deployment(name="mso-network-adapter",testable=false)
66 public static Archive<?> createMsoNetworkAdapterWarDeployment () {
67 System.out.println("Deploying Network Adapter WAR on default server");
68 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-network-adapter/target/", "mso-network-adapter*.war", "mso-network-adapter.war");
71 @Deployment(name="mso-requests-db-adapter",testable=false)
72 public static Archive<?> createMsoRequestsDbAdapterWarDeployment () {
73 System.out.println("Deploying Requests DB Adapter WAR on default server");
74 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-requests-db-adapter/target/", "mso-requests-db-adapter*.war", "mso-requests-db-adapter.war");
77 @Deployment(name="asdc-controller",testable=true)
78 public static Archive<?> createAsdcControllerWarDeployment () {
79 System.out.println("Deploying ASDC Controller WAR with additional resources on default server");
81 WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war");
83 // Take one war randomly to make arquilian happy
89 @Deployment(name="gammaBPMN",testable=false)
90 public static Archive<?> createGammaBPMNDeployment () {
91 System.out.println("Deploying Gamma BPMN WAR on default server");
92 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../bpmn/MSOGammaBPMN/target/", "MSOGammaBPMN*.war", "MSOGammaBPMN.war");
95 @Deployment(name = "SoapUIMocks", testable = false)
96 public static Archive <?> createSoapUIMocksWarDeployment () {
98 File file = new File ("src/test/resources/SoapUIMocks.war");
100 WebArchive archive = ShrinkWrap.create (WebArchive.class, "SoapUIMocks.war");
102 archive.merge ((ShrinkWrap.createFromZipFile (WebArchive.class, file)));
108 public static void waitBeforeStart () throws InterruptedException {
109 Thread.currentThread().sleep(10000);
110 System.out.println ("Executing " + SoapUiITCase.class.getName ());
116 public void test01Healthcheck () {
117 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
118 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
119 runner.setJUnitReport(true);
120 runner.setProjectFile ("./src/test/resources/SoapUI/Healthcheck-soapui-project.xml");
121 runner.setOutputFolder ("./target/surefire-reports");
122 String[] properties = new String[7];
123 properties[0] = "apihhost="+jbossHost+":"+jbossPort;
124 properties[1] = "jrahost="+jbossHost+":"+jbossPort;
125 properties[2] = "userlogin=sitecontrol";
126 properties[3] = "userpassword=Domain2.0!";
127 properties[4] = "bpmnhost="+jbossHost+":"+jbossPort;
128 properties[5] = "sitename=mso-docker";
129 properties[6] = "enableBpmn=false";
130 runner.setProjectProperties (properties);
133 runner.setTestSuite ("Healthcheck TestSuite");
135 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
136 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
137 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
139 assertTrue (runner.getFailedTests ().size () == 0);
141 } catch (Exception e) {
142 e.printStackTrace ();
143 fail("Failure in SOAPUI Healthcheck");
149 public void test03StartNetworkAdapter () {
150 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
151 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
152 runner.setJUnitReport(true);
153 runner.setProjectFile ("./src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml");
154 runner.setOutputFolder ("./target/surefire-reports");
155 String[] properties = new String[1];
156 properties[0] = "host="+jbossHost+":"+jbossPort;
157 runner.setProjectProperties (properties);
161 runner.setTestSuite ("MsoNetworkAdapter TestSuite");
164 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
165 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
166 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
168 assertTrue (runner.getFailedTests ().size () == 0);
170 } catch (Exception e) {
171 e.printStackTrace ();
172 fail("Failure in SOAPUI NetworkAdapter");
179 public void test04StartVnfAdapter () {
180 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
181 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
182 runner.setJUnitReport(true);
183 runner.setProjectFile ("./src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml");
184 runner.setOutputFolder ("./target/surefire-reports");
185 String[] properties = new String[1];
186 properties[0] = "host="+jbossHost+":"+jbossPort;
187 runner.setProjectProperties (properties);
190 runner.setTestSuite ("MsoVnfAdapter TestSuite");
193 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
194 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
195 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
197 assertTrue (runner.getFailedTests ().size () == 0);
199 } catch (Exception e) {
200 e.printStackTrace ();
201 fail("Failure in SOAPUI VnfAdapter");
208 public void test05StartTenantAdapter () {
209 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
210 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
211 runner.setJUnitReport(true);
212 runner.setProjectFile ("./src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml");
213 runner.setOutputFolder ("./target/surefire-reports");
214 String[] properties = new String[3];
215 properties[0] = "host="+jbossHost+":"+jbossPort;
216 properties[1] = "user-bpel=BPELClient";
217 properties[2] = "password-bpel=password1$";
218 runner.setProjectProperties (properties);
221 runner.setTestSuite ("MsoTenantAdapter TestSuite");
224 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
225 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
226 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
228 assertTrue (runner.getFailedTests ().size () == 0);
230 } catch (Exception e) {
231 e.printStackTrace ();
232 fail("Failure in SOAPUI TenantAdapter");
239 public void test06StartRequestDBAdapter () {
240 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
241 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
242 runner.setJUnitReport(true);
243 runner.setProjectFile ("./src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml");
244 runner.setOutputFolder ("./target/surefire-reports");
245 String[] properties = new String[3];
246 properties[0] = "host="+jbossHost+":"+jbossPort;
247 properties[1] = "user-infraportal=InfraPortalClient";
248 properties[2] = "password-infraportal=password1$";
249 runner.setProjectProperties (properties);
253 runner.setTestSuite ("MsoRequestsDbAdapterImplPortBinding TestSuite");
256 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
257 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
258 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
260 assertTrue (runner.getFailedTests ().size () == 0);
262 } catch (Exception e) {
263 e.printStackTrace ();
264 fail("Failure in SOAPUI RequestDB adapter");
270 public void test07MsoConfigEndpoints () {
271 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
272 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
273 runner.setJUnitReport(true);
274 runner.setProjectFile ("./src/test/resources/SoapUI/MSOConfig-soapui-project.xml");
275 runner.setOutputFolder ("./target/surefire-reports");
276 String[] properties = new String[3];
277 properties[0] = "host="+jbossHost+":"+jbossPort;
278 properties[1] = "user-infraportal=InfraPortalClient";
279 properties[2] = "password-infraportal=password1$";
280 runner.setProjectProperties (properties);
284 runner.setTestSuite ("test_config_endpoints TestSuite");
287 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
288 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
289 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
291 assertTrue (runner.getFailedTests ().size () == 0);
293 } catch (Exception e) {
294 e.printStackTrace ();
295 fail("Failure in SOAPUI MSOConfig Endpoints");