Initial OpenECOMP MSO commit
[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="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");
93         }
94 /*      
95     @Deployment(name = "SoapUIMocks", testable = false)
96     public static Archive <?> createSoapUIMocksWarDeployment () {
97
98         File file = new File ("src/test/resources/SoapUIMocks.war");
99
100         WebArchive archive = ShrinkWrap.create (WebArchive.class, "SoapUIMocks.war");
101
102         archive.merge ((ShrinkWrap.createFromZipFile (WebArchive.class, file)));
103
104         return archive;
105     }*/
106
107     @BeforeClass
108     public static void waitBeforeStart () throws InterruptedException {
109         Thread.currentThread().sleep(10000);
110         System.out.println ("Executing " + SoapUiITCase.class.getName ());
111        
112     }
113
114     @Test
115     @RunAsClient
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);
131
132         try {
133             runner.setTestSuite ("Healthcheck TestSuite");
134             runner.run ();
135             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
136             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
137                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
138             }
139             assertTrue (runner.getFailedTests ().size () == 0);
140
141         } catch (Exception e) {
142             e.printStackTrace ();
143             fail("Failure in SOAPUI Healthcheck");
144         }
145     }
146
147     @Test
148     @RunAsClient
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);
158
159
160         try {
161                 runner.setTestSuite ("MsoNetworkAdapter TestSuite");
162                 runner.run ();
163
164                 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
165                 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
166                         assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
167                 }
168                 assertTrue (runner.getFailedTests ().size () == 0);
169
170         } catch (Exception e) {
171             e.printStackTrace ();
172                 fail("Failure in SOAPUI NetworkAdapter");
173         }
174     }
175
176
177     @Test
178     @RunAsClient
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);
188
189         try {
190             runner.setTestSuite ("MsoVnfAdapter TestSuite");
191             runner.run ();
192
193             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
194             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
195                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
196             }
197             assertTrue (runner.getFailedTests ().size () == 0);
198
199         } catch (Exception e) {
200             e.printStackTrace ();
201             fail("Failure in SOAPUI VnfAdapter");
202         }
203     }
204
205
206     @Test
207     @RunAsClient
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);
219
220         try {
221             runner.setTestSuite ("MsoTenantAdapter TestSuite");
222             runner.run ();
223
224             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
225             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
226                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
227             }
228             assertTrue (runner.getFailedTests ().size () == 0);
229
230         } catch (Exception e) {
231             e.printStackTrace ();
232             fail("Failure in SOAPUI TenantAdapter");
233         }
234     }
235
236
237     @Test
238     @RunAsClient
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);
250
251
252         try {
253             runner.setTestSuite ("MsoRequestsDbAdapterImplPortBinding TestSuite");
254             runner.run ();
255
256             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
257             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
258                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
259             }
260             assertTrue (runner.getFailedTests ().size () == 0);
261
262         } catch (Exception e) {
263             e.printStackTrace ();
264                 fail("Failure in SOAPUI RequestDB adapter");
265         }
266     }
267
268     @Test
269     @RunAsClient
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);
281
282
283         try {
284             runner.setTestSuite ("test_config_endpoints TestSuite");
285             runner.run ();
286
287             Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
288             for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
289                 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
290             }
291             assertTrue (runner.getFailedTests ().size () == 0);
292
293         } catch (Exception e) {
294             e.printStackTrace ();
295                 fail("Failure in SOAPUI MSOConfig Endpoints");
296         }
297     }
298 }