[MSO-8] Update the maven dependency
[so.git] / packages / arquillian-unit-tests / src / test / java / org / openecomp / mso / global_tests / soapui / SoapUiITCase.java
1
2 package org.openecomp.mso.global_tests.soapui;
3
4 import static org.junit.Assert.*;
5
6 import java.io.File;
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;
12 import java.util.Map;
13
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;
27
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;
33
34 @RunWith(Arquillian.class)
35 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
36 public class SoapUiITCase {
37
38         private static String jbossHost=System.getProperty("docker.hostname");
39         private static String jbossPort="18080";
40         
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");
45         }
46         
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");
51         }
52         
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");
57         }
58         
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");
63         }
64         
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");
69         }
70         
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");
75         }
76         
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");
80                 
81                 WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war");
82                 
83                 // Take one war randomly to make arquilian happy
84
85                         
86                 return warArchive;
87         }
88         
89         @Deployment(name="common-bpmn",testable=false)
90         public static Archive<?> createCommonBPMNDeployment () {
91                 System.out.println("Deploying Common BPMN WAR on default server");
92                 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../bpmn/MSOCommonBPMN/target/", "MSOCommonBPMN*.war", "MSOCommonBPMN.war");
93         }
94         
95         @Deployment(name = "infrastructure-bpmn", testable = false)
96         public static Archive<?> createInfraBPMNDeployment() {
97             System.out.println("Deploying Infrastructure BPMN WAR on default server");
98             return ArquillianPackagerForITCases.createPackageFromExistingOne("../../bpmn/MSOInfrastructureBPMN/target/",
99                     "MSOInfrastructureBPMN*.war", "MSOInfrastructureBPMN.war");
100         }
101 /*
102     @Deployment(name = "SoapUIMocks", testable = false)
103     public static Archive <?> createSoapUIMocksWarDeployment () {
104
105         File file = new File ("src/test/resources/SoapUIMocks.war");
106
107         WebArchive archive = ShrinkWrap.create (WebArchive.class, "SoapUIMocks.war");
108
109         archive.merge ((ShrinkWrap.createFromZipFile (WebArchive.class, file)));
110
111         return archive;
112     }*/
113
114     @BeforeClass
115     public static void waitBeforeStart () throws InterruptedException {
116         Thread.currentThread().sleep(10000);
117         System.out.println ("Executing " + SoapUiITCase.class.getName ());
118        
119     }
120
121     @Test
122     @RunAsClient
123     public void test01Healthcheck () {
124         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
125         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
126         runner.setJUnitReport(true);
127         runner.setProjectFile ("./src/test/resources/SoapUI/Healthcheck-soapui-project.xml");
128         runner.setOutputFolder ("./target/surefire-reports");
129         String[] properties = new String[7];
130         properties[0] = "apihhost="+jbossHost+":"+jbossPort;
131         properties[1] = "jrahost="+jbossHost+":"+jbossPort;
132         properties[2] = "userlogin=sitecontrol";
133         properties[3] = "userpassword=Domain2.0!";
134         properties[4] = "bpmnhost="+jbossHost+":"+jbossPort;
135         properties[5] = "sitename=mso-docker";
136         properties[6] = "enableBpmn=false";
137         runner.setProjectProperties (properties);
138
139         try {
140             runner.setTestSuite ("Healthcheck TestSuite");
141             runner.run ();
142             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
143             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
144                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
145             }
146             assertTrue (runner.getFailedTests ().size () == 0);
147
148         } catch (Exception e) {
149             e.printStackTrace ();
150             fail("Failure in SOAPUI Healthcheck");
151         }
152     }
153
154     @Test
155     @RunAsClient
156     public void test02ApiHandlerInfra () {
157         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
158         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
159         runner.setJUnitReport(true);
160         runner.setProjectFile ("./src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml");
161         runner.setOutputFolder ("./target/surefire-reports");
162         String[] properties = new String[3];
163         properties[0] = "host="+jbossHost+":"+jbossPort;
164         properties[1] = "user-infraportal=InfraPortalClient";
165         properties[2] = "password-infraportal=password1$";
166
167         runner.setProjectProperties (properties);
168
169         try {
170             runner.setTestSuite ("simple_tests_endpoints");
171             runner.run ();
172             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
173             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
174                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
175             }
176             assertTrue (runner.getFailedTests ().size () == 0);
177
178         } catch (Exception e) {
179             e.printStackTrace ();
180             fail("Failure in SOAPUI ApiHandler Infra");
181         }
182     }
183
184     @Test
185     @RunAsClient
186     public void test03StartNetworkAdapter () {
187         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
188         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
189         runner.setJUnitReport(true);
190         runner.setProjectFile ("./src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml");
191         runner.setOutputFolder ("./target/surefire-reports");
192         String[] properties = new String[1];
193         properties[0] = "host="+jbossHost+":"+jbossPort;
194         runner.setProjectProperties (properties);
195
196
197         try {
198                 runner.setTestSuite ("MsoNetworkAdapter TestSuite");
199                 runner.run ();
200
201                 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
202                 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
203                         assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
204                 }
205                 assertTrue (runner.getFailedTests ().size () == 0);
206
207         } catch (Exception e) {
208             e.printStackTrace ();
209                 fail("Failure in SOAPUI NetworkAdapter");
210         }
211     }
212
213
214     @Test
215     @RunAsClient
216     public void test04StartVnfAdapter () {
217         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
218         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
219         runner.setJUnitReport(true);
220         runner.setProjectFile ("./src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml");
221         runner.setOutputFolder ("./target/surefire-reports");
222         String[] properties = new String[1];
223         properties[0] = "host="+jbossHost+":"+jbossPort;
224         runner.setProjectProperties (properties);
225
226         try {
227             runner.setTestSuite ("MsoVnfAdapter TestSuite");
228             runner.run ();
229
230             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
231             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
232                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
233             }
234             assertTrue (runner.getFailedTests ().size () == 0);
235
236         } catch (Exception e) {
237             e.printStackTrace ();
238             fail("Failure in SOAPUI VnfAdapter");
239         }
240     }
241
242
243     @Test
244     @RunAsClient
245     public void test05StartTenantAdapter () {
246         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
247         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
248         runner.setJUnitReport(true);
249         runner.setProjectFile ("./src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml");
250         runner.setOutputFolder ("./target/surefire-reports");
251         String[] properties = new String[3];
252         properties[0] = "host="+jbossHost+":"+jbossPort;
253         properties[1] = "user-bpel=BPELClient";
254         properties[2] = "password-bpel=password1$";
255         runner.setProjectProperties (properties);
256
257         try {
258             runner.setTestSuite ("MsoTenantAdapter TestSuite");
259             runner.run ();
260
261             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
262             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
263                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
264             }
265             assertTrue (runner.getFailedTests ().size () == 0);
266
267         } catch (Exception e) {
268             e.printStackTrace ();
269             fail("Failure in SOAPUI TenantAdapter");
270         }
271     }
272
273
274     @Test
275     @RunAsClient
276     public void test06StartRequestDBAdapter () {
277         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
278         runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
279         runner.setJUnitReport(true);
280         runner.setProjectFile ("./src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml");
281         runner.setOutputFolder ("./target/surefire-reports");
282         String[] properties = new String[3];
283         properties[0] = "host="+jbossHost+":"+jbossPort;
284         properties[1] = "user-infraportal=InfraPortalClient";
285         properties[2] = "password-infraportal=password1$";
286         runner.setProjectProperties (properties);
287
288
289         try {
290             runner.setTestSuite ("MsoRequestsDbAdapterImplPortBinding TestSuite");
291             runner.run ();
292
293             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
294             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
295                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
296             }
297             assertTrue (runner.getFailedTests ().size () == 0);
298
299         } catch (Exception e) {
300             e.printStackTrace ();
301                 fail("Failure in SOAPUI RequestDB adapter");
302         }
303     }
304
305     @Test
306     @RunAsClient
307     public void test07MsoConfigEndpoints () {
308         SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
309                 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
310                 runner.setJUnitReport(true);
311         runner.setProjectFile ("./src/test/resources/SoapUI/MSOConfig-soapui-project.xml");
312         runner.setOutputFolder ("./target/surefire-reports");
313         String[] properties = new String[3];
314         properties[0] = "host="+jbossHost+":"+jbossPort;
315         properties[1] = "user-infraportal=InfraPortalClient";
316         properties[2] = "password-infraportal=password1$";
317         runner.setProjectProperties (properties);
318
319
320         try {
321             runner.setTestSuite ("test_config_endpoints TestSuite");
322             runner.run ();
323
324             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
325             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
326                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
327             }
328             assertTrue (runner.getFailedTests ().size () == 0);
329
330         } catch (Exception e) {
331             e.printStackTrace ();
332                 fail("Failure in SOAPUI MSOConfig Endpoints");
333         }
334     }
335 }