aboutsummaryrefslogtreecommitdiffstats
path: root/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java
diff options
context:
space:
mode:
Diffstat (limited to 'packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java')
-rw-r--r--packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java147
1 files changed, 147 insertions, 0 deletions
diff --git a/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java
new file mode 100644
index 0000000000..ebbf657f2d
--- /dev/null
+++ b/packages/arquillian-unit-tests/src/test/java/org/openecomp/mso/global_tests/jmeter/JMeterITCase.java
@@ -0,0 +1,147 @@
+
+package org.openecomp.mso.global_tests.jmeter;
+
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+
+import org.apache.jmeter.engine.StandardJMeterEngine;
+import org.apache.jmeter.save.SaveService;
+import org.apache.jmeter.util.JMeterUtils;
+import org.apache.jorphan.collections.HashTree;
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.container.test.api.Testable;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.openecomp.mso.global_tests.ArquillianPackagerForITCases;
+
+@RunWith(Arquillian.class)
+public class JMeterITCase {
+
+ @Deployment(name="mso-api-handler-infra",testable=false)
+ public static Archive<?> createMsoApiHandlerInfraWarDeployment () {
+ System.out.println("Deploying ApiHandler Infra WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../mso-api-handlers/mso-api-handler-infra/target/", "mso-api-handler-infra*.war", "mso-api-handler-infra.war");
+ }
+
+ @Deployment(name="mso-vnf-adapter",testable=false)
+ public static Archive<?> createMsoVnfAdapterWarDeployment () {
+ System.out.println("Deploying VNF Adapter WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-vnf-adapter/target/", "mso-vnf-adapter*.war", "mso-vnf-adapter.war");
+ }
+
+ @Deployment(name="mso-tenant-adapter",testable=false)
+ public static Archive<?> createMsoTenantAdapterWarDeployment () {
+ System.out.println("Deploying Tenant Adapter WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-tenant-adapter/target/", "mso-tenant-adapter*.war", "mso-tenant-adapter.war");
+ }
+
+ @Deployment(name="mso-sdnc-adapter",testable=false)
+ public static Archive<?> createMsoSdncAdapterWarDeployment () {
+ System.out.println("Deploying SDNC Adapter WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-sdnc-adapter/target/", "mso-sdnc-adapter*.war", "mso-sdnc-adapter.war");
+ }
+
+ @Deployment(name="mso-network-adapter",testable=false)
+ public static Archive<?> createMsoNetworkAdapterWarDeployment () {
+ System.out.println("Deploying Network Adapter WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-network-adapter/target/", "mso-network-adapter*.war", "mso-network-adapter.war");
+ }
+
+ @Deployment(name="mso-requests-db-adapter",testable=false)
+ public static Archive<?> createMsoRequestsDbAdapterWarDeployment () {
+ System.out.println("Deploying Requests DB Adapter WAR on default server");
+ return ArquillianPackagerForITCases.createPackageFromExistingOne("../../adapters/mso-requests-db-adapter/target/", "mso-requests-db-adapter*.war", "mso-requests-db-adapter.war");
+ }
+
+ @Deployment(name="asdc-controller",testable=true)
+ public static Archive<?> createAsdcControllerWarDeployment () {
+ System.out.println("Deploying ASDC Controller WAR with additional resources on default server");
+
+ WebArchive warArchive = (WebArchive)ArquillianPackagerForITCases.createPackageFromExistingOne("../../asdc-controller/target/", "asdc-controller*.war", "asdc-controller.war");
+
+ // Add the current test class
+ JavaArchive testclasses = ShrinkWrap.create (JavaArchive.class, "testClasses.jar");
+ testclasses.addClasses(JMeterITCase.class);
+
+ warArchive.addAsLibraries(testclasses);
+
+ // BE CAREFUL a settings.xml file must be located in ${home.user}/.m2/settings.xml
+ warArchive.addAsLibraries(Maven.resolver()
+ .resolve("org.mockito:mockito-all:1.10.19")
+ .withoutTransitivity ()
+ .asFile ());
+
+ // Take one war randomly to make arquilian happy
+
+ Testable.archiveToTest(warArchive);
+
+
+ return warArchive;
+ }
+
+
+ @BeforeClass
+ public static void waitBeforeStart () throws InterruptedException {
+ System.out.println ("Executing " + JMeterITCase.class.getName ());
+
+ }
+
+ @Test
+ @RunAsClient()
+ public void testJMeter() throws IOException {
+ // JMeter Engine
+ StandardJMeterEngine jmeter = new StandardJMeterEngine();
+
+
+ // Initialize Properties, logging, locale, etc.
+ JMeterUtils.loadJMeterProperties("/tmp/apache-jmeter-2.13/bin/jmeter.properties");
+ JMeterUtils.setJMeterHome("/tmp/apache-jmeter-2.13");
+ JMeterUtils.initLogging();// you can comment this line out to see extra log messages of i.e. DEBUG level
+ JMeterUtils.initLocale();
+
+ // Initialize JMeter SaveService
+ SaveService.loadProperties();
+
+ // Load existing .jmx Test Plan
+
+ FileInputStream in = new FileInputStream("./src/test/resources/JMeter/MSO-Perf.jmx");
+ HashTree testPlanTree = SaveService.loadTree(in);
+ testPlanTree.getTree("test variables");
+ in.close();
+
+ // Run JMeter Test
+ jmeter.configure(testPlanTree);
+ jmeter.run();
+ }
+
+ @AfterClass
+ public static void afterArquillianTest() {
+ try {
+ Files.move (Paths.get ("./jmeter.log"),
+ Paths.get ("./target/surefire-reports/jmeter.log"),
+ StandardCopyOption.REPLACE_EXISTING);
+
+ /* Files.move (Paths.get ("./mso-perf.jtl"),
+ Paths.get ("./target/surefire-reports/mso-perf.log"),
+ StandardCopyOption.REPLACE_EXISTING);*/
+
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}