2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.mso.global_tests.soapui;
23 import static org.junit.Assert.*;
26 import java.io.IOException;
27 import java.lang.reflect.Method;
28 import java.nio.file.Files;
29 import java.nio.file.Paths;
30 import java.nio.file.StandardCopyOption;
33 import org.jboss.arquillian.container.test.api.Deployment;
34 import org.jboss.arquillian.container.test.api.RunAsClient;
35 import org.jboss.arquillian.junit.Arquillian;
36 import org.jboss.shrinkwrap.api.Archive;
37 import org.jboss.shrinkwrap.api.ShrinkWrap;
38 import org.jboss.shrinkwrap.api.spec.WebArchive;
39 import org.junit.After;
40 import org.junit.AfterClass;
41 import org.junit.BeforeClass;
42 import org.junit.FixMethodOrder;
43 import org.junit.runners.MethodSorters;
44 import org.junit.Test;
45 import org.junit.runner.RunWith;
47 import org.openecomp.mso.global_tests.ArquillianPackagerForITCases;
48 import com.eviware.soapui.impl.wsdl.teststeps.WsdlTestStepResult;
49 import com.eviware.soapui.model.testsuite.TestAssertion;
50 import com.eviware.soapui.model.testsuite.TestStepResult.TestStepStatus;
51 import com.eviware.soapui.tools.SoapUITestCaseRunner;
53 @RunWith(Arquillian.class)
54 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
55 public class SoapUiITCase {
57 private static String jbossHost=System.getProperty("docker.hostname");
58 private static String jbossPort="18080";
60 @Deployment(name="mso-api-handler-infra",testable=false)
61 public static Archive<?> createMsoApiHandlerInfraWarDeployment () {
62 System.out.println("Deploying ApiHandler Infra WAR on default server");
63 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../mso-api-handlers/mso-api-handler-infra/target/", "mso-api-handler-infra*.war", "mso-api-handler-infra.war");
66 @Deployment(name="mso-vnf-adapter",testable=false)
67 public static Archive<?> createMsoVnfAdapterWarDeployment () {
68 System.out.println("Deploying VNF Adapter WAR on default server");
69 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-vnf-adapter/target/", "mso-vnf-adapter*.war", "mso-vnf-adapter.war");
72 @Deployment(name="mso-tenant-adapter",testable=false)
73 public static Archive<?> createMsoTenantAdapterWarDeployment () {
74 System.out.println("Deploying Tenant Adapter WAR on default server");
75 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-tenant-adapter/target/", "mso-tenant-adapter*.war", "mso-tenant-adapter.war");
78 @Deployment(name="mso-sdnc-adapter",testable=false)
79 public static Archive<?> createMsoSdncAdapterWarDeployment () {
80 System.out.println("Deploying SDNC Adapter WAR on default server");
81 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-sdnc-adapter/target/", "mso-sdnc-adapter*.war", "mso-sdnc-adapter.war");
84 @Deployment(name="mso-network-adapter",testable=false)
85 public static Archive<?> createMsoNetworkAdapterWarDeployment () {
86 System.out.println("Deploying Network Adapter WAR on default server");
87 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-network-adapter/target/", "mso-network-adapter*.war", "mso-network-adapter.war");
90 @Deployment(name="mso-requests-db-adapter",testable=false)
91 public static Archive<?> createMsoRequestsDbAdapterWarDeployment () {
92 System.out.println("Deploying Requests DB Adapter WAR on default server");
93 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-requests-db-adapter/target/", "mso-requests-db-adapter*.war", "mso-requests-db-adapter.war");
96 @Deployment(name="asdc-controller",testable=true)
97 public static Archive<?> createAsdcControllerWarDeployment () {
98 System.out.println("Deploying ASDC Controller WAR with additional resources on default server");
100 WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war");
102 // Take one war randomly to make arquilian happy
108 @Deployment(name = "infrastructure-bpmn", testable = false)
109 public static Archive<?> createInfraBPMNDeployment() {
110 System.out.println("Deploying Infrastructure BPMN WAR on default server");
111 return ArquillianPackagerForITCases.createPackageFromExistingOne("../../bpmn/MSOInfrastructureBPMN/target/",
112 "MSOInfrastructureBPMN*.war", "MSOInfrastructureBPMN.war");
115 @Deployment(name = "SoapUIMocks", testable = false)
116 public static Archive <?> createSoapUIMocksWarDeployment () {
118 File file = new File ("src/test/resources/SoapUIMocks.war");
120 WebArchive archive = ShrinkWrap.create (WebArchive.class, "SoapUIMocks.war");
122 archive.merge ((ShrinkWrap.createFromZipFile (WebArchive.class, file)));
128 public static void waitBeforeStart () throws InterruptedException {
129 Thread.currentThread().sleep(10000);
130 System.out.println ("Executing " + SoapUiITCase.class.getName ());
136 public void test01Healthcheck () {
137 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
138 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
139 runner.setJUnitReport(true);
140 runner.setProjectFile ("./src/test/resources/SoapUI/Healthcheck-soapui-project.xml");
141 runner.setOutputFolder ("./target/surefire-reports");
142 String[] properties = new String[7];
143 properties[0] = "apihhost="+jbossHost+":"+jbossPort;
144 properties[1] = "jrahost="+jbossHost+":"+jbossPort;
145 properties[2] = "userlogin=sitecontrol";
146 properties[3] = "userpassword=Domain2.0!";
147 properties[4] = "bpmnhost="+jbossHost+":"+jbossPort;
148 properties[5] = "sitename=mso-docker";
149 properties[6] = "enableBpmn=false";
150 runner.setProjectProperties (properties);
153 runner.setTestSuite ("Healthcheck TestSuite");
155 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
156 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
157 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
159 assertTrue (runner.getFailedTests ().size () == 0);
161 } catch (Exception e) {
162 e.printStackTrace ();
163 fail("Failure in SOAPUI Healthcheck");
169 public void test02ApiHandlerInfra () {
170 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
171 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
172 runner.setJUnitReport(true);
173 runner.setProjectFile ("./src/test/resources/SoapUI/Local-API-Handler-soapui-project.xml");
174 runner.setOutputFolder ("./target/surefire-reports");
175 String[] properties = new String[3];
176 properties[0] = "host="+jbossHost+":"+jbossPort;
177 properties[1] = "user-infraportal=InfraPortalClient";
178 properties[2] = "password-infraportal=password1$";
180 runner.setProjectProperties (properties);
183 runner.setTestSuite ("simple_tests_endpoints");
185 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
186 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
187 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
189 assertTrue (runner.getFailedTests ().size () == 0);
191 } catch (Exception e) {
192 e.printStackTrace ();
193 fail("Failure in SOAPUI ApiHandler Infra");
199 public void test03StartNetworkAdapter () {
200 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
201 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
202 runner.setJUnitReport(true);
203 runner.setProjectFile ("./src/test/resources/SoapUI/MSONetworkAdapter-soapui-project.xml");
204 runner.setOutputFolder ("./target/surefire-reports");
205 String[] properties = new String[1];
206 properties[0] = "host="+jbossHost+":"+jbossPort;
207 runner.setProjectProperties (properties);
211 runner.setTestSuite ("MsoNetworkAdapter TestSuite");
214 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
215 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
216 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
218 assertTrue (runner.getFailedTests ().size () == 0);
220 } catch (Exception e) {
221 e.printStackTrace ();
222 fail("Failure in SOAPUI NetworkAdapter");
229 public void test04StartVnfAdapter () {
230 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
231 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
232 runner.setJUnitReport(true);
233 runner.setProjectFile ("./src/test/resources/SoapUI/MSOVnfAdapter-soapui-project.xml");
234 runner.setOutputFolder ("./target/surefire-reports");
235 String[] properties = new String[1];
236 properties[0] = "host="+jbossHost+":"+jbossPort;
237 runner.setProjectProperties (properties);
240 runner.setTestSuite ("MsoVnfAdapter TestSuite");
243 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
244 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
245 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
247 assertTrue (runner.getFailedTests ().size () == 0);
249 } catch (Exception e) {
250 e.printStackTrace ();
251 fail("Failure in SOAPUI VnfAdapter");
258 public void test05StartTenantAdapter () {
259 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
260 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
261 runner.setJUnitReport(true);
262 runner.setProjectFile ("./src/test/resources/SoapUI/MSOTenantAdapter-soapui-project.xml");
263 runner.setOutputFolder ("./target/surefire-reports");
264 String[] properties = new String[3];
265 properties[0] = "host="+jbossHost+":"+jbossPort;
266 properties[1] = "user-bpel=BPELClient";
267 properties[2] = "password-bpel=password1$";
268 runner.setProjectProperties (properties);
271 runner.setTestSuite ("MsoTenantAdapter TestSuite");
274 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
275 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
276 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
278 assertTrue (runner.getFailedTests ().size () == 0);
280 } catch (Exception e) {
281 e.printStackTrace ();
282 fail("Failure in SOAPUI TenantAdapter");
289 public void test06StartRequestDBAdapter () {
290 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
291 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
292 runner.setJUnitReport(true);
293 runner.setProjectFile ("./src/test/resources/SoapUI/MsoRequestDB-soapui-project.xml");
294 runner.setOutputFolder ("./target/surefire-reports");
295 String[] properties = new String[3];
296 properties[0] = "host="+jbossHost+":"+jbossPort;
297 properties[1] = "user-infraportal=InfraPortalClient";
298 properties[2] = "password-infraportal=password1$";
299 runner.setProjectProperties (properties);
303 runner.setTestSuite ("MsoRequestsDbAdapterImplPortBinding TestSuite");
306 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
307 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
308 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
310 assertTrue (runner.getFailedTests ().size () == 0);
312 } catch (Exception e) {
313 e.printStackTrace ();
314 fail("Failure in SOAPUI RequestDB adapter");
320 public void test07MsoConfigEndpoints () {
321 SoapUITestCaseRunner runner = new SoapUITestCaseRunner ();
322 runner.setSettingsFile("./src/test/resources/SoapUI/soapui-settings.xml");
323 runner.setJUnitReport(true);
324 runner.setProjectFile ("./src/test/resources/SoapUI/MSOConfig-soapui-project.xml");
325 runner.setOutputFolder ("./target/surefire-reports");
326 String[] properties = new String[3];
327 properties[0] = "host="+jbossHost+":"+jbossPort;
328 properties[1] = "user-infraportal=InfraPortalClient";
329 properties[2] = "password-infraportal=password1$";
330 runner.setProjectProperties (properties);
334 runner.setTestSuite ("test_config_endpoints TestSuite");
337 Map<TestAssertion,WsdlTestStepResult> mapResult= runner.getAssertionResults();
338 for(Map.Entry<TestAssertion,WsdlTestStepResult> entry : mapResult.entrySet()) {
339 assertTrue(entry.getValue().getStatus().equals(TestStepStatus.OK));
341 assertTrue (runner.getFailedTests ().size () == 0);
343 } catch (Exception e) {
344 e.printStackTrace ();
345 fail("Failure in SOAPUI MSOConfig Endpoints");