You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2016/02/23 23:45:48 UTC
[2/2] incubator-geode git commit: GEODE-448: Replace Tomcat with
Jetty as test container
GEODE-448: Replace Tomcat with Jetty as test container
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/177f12c7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/177f12c7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/177f12c7
Branch: refs/heads/develop
Commit: 177f12c71e2383200ddc8ff4f6659202860b2607
Parents: 9028aa8
Author: Jens Deppe <jd...@pivotal.io>
Authored: Mon Feb 22 07:53:48 2016 -0800
Committer: Jens Deppe <jd...@pivotal.io>
Committed: Tue Feb 23 14:45:31 2016 -0800
----------------------------------------------------------------------
geode-pulse/build.gradle | 4 +-
.../tools/pulse/testbed/driver/PulseUITest.java | 93 +++++++++----------
.../pulse/testbed/driver/TomcatHelper.java | 77 ---------------
.../gemfire/tools/pulse/tests/PulseTest.java | 98 ++++++++------------
.../gemfire/tools/pulse/tests/TomcatHelper.java | 97 -------------------
5 files changed, 86 insertions(+), 283 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/177f12c7/geode-pulse/build.gradle
----------------------------------------------------------------------
diff --git a/geode-pulse/build.gradle b/geode-pulse/build.gradle
index 4879345..0cd1ef4 100755
--- a/geode-pulse/build.gradle
+++ b/geode-pulse/build.gradle
@@ -46,10 +46,8 @@ dependencies {
provided 'com.google.guava:guava:' + project.'guava.version'
testCompile project(':geode-junit')
+ testCompile project(':geode-core')
- testCompile 'org.apache.tomcat.embed:tomcat-embed-core:' + project.'tomcat7.version'
- testCompile 'org.apache.tomcat.embed:tomcat-embed-jasper:' + project.'tomcat7.version'
- testCompile 'org.apache.tomcat.embed:tomcat-embed-logging-juli:' + project.'tomcat7.version'
testCompile 'org.seleniumhq.selenium:selenium-firefox-driver:' + project.'selenium.version'
testCompile 'org.seleniumhq.selenium:selenium-api:' + project.'selenium.version'
testCompile 'org.seleniumhq.selenium:selenium-remote-driver:' + project.'selenium.version'
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/177f12c7/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
index 53fc3bd..452a536 100644
--- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
+++ b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/PulseUITest.java
@@ -16,16 +16,19 @@
*/
package com.vmware.gemfire.tools.pulse.testbed.driver;
-import java.net.InetAddress;
-import java.util.List;
-
+import com.gemstone.gemfire.management.internal.JettyHelper;
import com.gemstone.gemfire.test.junit.categories.UITest;
-import com.vmware.gemfire.tools.pulse.tests.PulseTest;
+import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Locator;
+import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Peer;
+import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Region;
+import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Server;
+import com.vmware.gemfire.tools.pulse.testbed.TestBed;
import junit.framework.Assert;
-
-import org.apache.catalina.LifecycleException;
-import org.apache.catalina.startup.Tomcat;
-import org.junit.*;
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
@@ -34,11 +37,10 @@ import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;
-import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Locator;
-import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Peer;
-import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Region;
-import com.vmware.gemfire.tools.pulse.testbed.GemFireDistributedSystem.Server;
-import com.vmware.gemfire.tools.pulse.testbed.TestBed;
+import java.net.InetAddress;
+import java.util.List;
+
+import static com.vmware.gemfire.tools.pulse.tests.PulseTest.getPulseWarPath;
/**
* @author Sushant Rawal
@@ -53,6 +55,7 @@ public class PulseUITest {
private static TestBed testBed;
private static String pulseURL;
private static String path;
+ private static org.eclipse.jetty.server.Server jetty = null;
private static final String userName = "admin";
private static final String pasword = "admin";
@@ -62,25 +65,37 @@ public class PulseUITest {
private static final String CLUSTER_VIEW_SERVERS_ID = "clusterServersText";
private static final String CLUSTER_VIEW_LOCATORS_ID = "clusterLocatorsText";
private static final String CLUSTER_VIEW_REGIONS_ID = "clusterTotalRegionsText";
-
- private static Tomcat tomcat = null;
-
+
@BeforeClass
- public static void setUpTomcat() throws Exception{
- String host = InetAddress.getLocalHost().getHostAddress();
- int port = 8080;
- String context = "/pulse";
- path = PulseTest.getPulseWarPath();
- //System.setProperty("pulse.propMockDataUpdaterClass", "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater");
- tomcat = TomcatHelper.startTomcat(host, port, context, path);
- pulseURL = "http://" + host + ":" + port + context;
- Thread.sleep(1000); //wait till tomcat settles down
- driver = new FirefoxDriver();
- driver.manage().window().maximize();//required to make all elements visible
+ public static void setUpJetty() throws Exception {
+ String host = InetAddress.getLocalHost().getHostAddress();
+ int port = 8080;
+ String context = "/pulse";
+ path = getPulseWarPath();
+ //System.setProperty("pulse.propMockDataUpdaterClass", "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater");
- Thread.sleep(5000); //wait till pulse starts polling threads...
- testBed = new TestBed();
- loginToPulse(driver, userName, pasword);
+ jetty = JettyHelper.initJetty(host, port, false, false, null, null, null);
+ JettyHelper.addWebApplication(jetty, context, getPulseWarPath());
+ jetty.start();
+
+ pulseURL = "http://" + host + ":" + port + context;
+ Thread.sleep(1000); //wait till tomcat settles down
+ driver = new FirefoxDriver();
+ driver.manage().window().maximize();//required to make all elements visible
+
+ Thread.sleep(5000); //wait till pulse starts polling threads...
+ testBed = new TestBed();
+ loginToPulse(driver, userName, pasword);
+ }
+
+ @AfterClass
+ public static void stopJetty() throws Exception {
+ jetty.stop();
+ }
+
+ @After
+ public void closeSession() {
+ driver.close();
}
private static void loginToPulse(WebDriver driver, String userName,String password){
@@ -263,22 +278,4 @@ public class PulseUITest {
});
Assert.assertNotNull(memberNameOnPulsePage);
}
-
- @After
- public void closeSession() {
- driver.close();
- }
-
- @AfterClass
- public static void stopTomcat(){
- try {
- if(tomcat!=null){
- tomcat.stop();
- tomcat.destroy();
- }
- } catch (LifecycleException e) {
- e.printStackTrace();
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/177f12c7/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
deleted file mode 100644
index 860698f..0000000
--- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/testbed/driver/TomcatHelper.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package com.vmware.gemfire.tools.pulse.testbed.driver;
-
-import java.net.InetAddress;
-
-import org.apache.catalina.connector.Connector;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.startup.Tomcat;
-import org.apache.tomcat.util.IntrospectionUtils;
-
-public class TomcatHelper {
- public static Tomcat startTomcat(String bindAddress, int port, String context, String path) throws Exception {
-
- Tomcat tomcat = new Tomcat();
-
- // Set up logging - first we're going to remove all existing handlers. Don't do this before Tomcat is
- // instantiated otherwise there isn't anything to remove.
- /*
-
- Logger globalLogger = Logger.getLogger("");
- for (Handler handler : globalLogger.getHandlers()) {
- globalLogger.removeHandler(handler);
- }
-
- // Now let's add our handler
- Handler gfHandler = new GemFireHandler((LogWriterImpl) log);
- Logger logger = Logger.getLogger("");
- logger.addHandler(gfHandler);
-
- */
-
- // Set up for commons-logging which is used by Spring.
- // This forces JCL to use the JDK logger otherwise it defaults to trying to use Log4J.
- if (System.getProperty("org.apache.commons.logging.Log") == null) {
- System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.Jdk14Logger");
- }
-
- if (bindAddress != null && bindAddress.length() > 0) {
- Connector c = tomcat.getConnector();
- IntrospectionUtils.setProperty(c, "address", bindAddress);
- }
- tomcat.setPort(port);
-
- // Working (scratch) dir
- String scratch = System.getProperty("java.io.tmpdir") + System.getProperty("file.separator") + "Pulse_"
- + ((bindAddress == null || bindAddress.length() == 0) ? "0.0.0.0" : bindAddress) + "_" + port + "_"
- + String.format("%x", path.hashCode());
-
-
- tomcat.setBaseDir(scratch);
- StandardHost stdHost = (StandardHost) tomcat.getHost();
- //stdHost.setUnpackWARs(false);
- //tomcat.addContext(context, path);
- tomcat.addWebapp(stdHost, context, path);
- stdHost.setDeployOnStartup(true);
- tomcat.start();
-
- return tomcat;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/177f12c7/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTest.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTest.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTest.java
index e945156..3bf7ecc 100644
--- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTest.java
+++ b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/PulseTest.java
@@ -18,10 +18,14 @@
*/
package com.vmware.gemfire.tools.pulse.tests;
+import com.gemstone.gemfire.management.internal.JettyHelper;
import com.gemstone.gemfire.test.junit.categories.UITest;
import junit.framework.Assert;
-import org.apache.catalina.startup.Tomcat;
-import org.junit.*;
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.FixMethodOrder;
+import org.junit.Ignore;
+import org.junit.Test;
import org.junit.experimental.categories.Category;
import org.junit.runners.MethodSorters;
import org.openqa.selenium.By;
@@ -49,7 +53,7 @@ public class PulseTest {
private static String jmxPropertiesFile;
private static String path;
- private static Tomcat tomcat = null;
+ private static org.eclipse.jetty.server.Server jetty = null;
private static Server server = null;
private static String pulseURL = null;
public static WebDriver driver;
@@ -133,20 +137,22 @@ public class PulseTest {
@BeforeClass
public static void setUpBeforeClass() throws Exception {
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- jmxPropertiesFile = classLoader.getResource("test.properties").getPath();
- path = getPulseWarPath();
- server = Server.createServer(9999, jmxPropertiesFile);
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ jmxPropertiesFile = classLoader.getResource("test.properties").getPath();
+ path = getPulseWarPath();
+ server = Server.createServer(9999, jmxPropertiesFile);
- String host = "localhost";// InetAddress.getLocalHost().getHostAddress();
- int port = 8080;
- String context = "/pulse";
-
- tomcat = TomcatHelper.startTomcat(host, port, context, path);
- pulseURL = "http://" + host + ":" + port + context;
+ String host = "localhost";// InetAddress.getLocalHost().getHostAddress();
+ int port = 8080;
+ String context = "/pulse";
- Thread.sleep(5000); // wait till tomcat settles down
+ jetty = JettyHelper.initJetty(host, port, false, false, null, null, null);
+ JettyHelper.addWebApplication(jetty, context, getPulseWarPath());
+ jetty.start();
+ pulseURL = "http://" + host + ":" + port + context;
+
+ Thread.sleep(5000); // wait till tomcat settles down
driver = new FirefoxDriver();
driver.manage().window().maximize();
@@ -171,19 +177,24 @@ public class PulseTest {
Thread.sleep(7000);
}
- public static String getPulseWarPath() throws Exception{
- String warPath = null;
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
- InputStream inputStream = classLoader
- .getResourceAsStream("GemFireVersion.properties");
- Properties properties = new Properties();
- properties.load(inputStream);
- String version = properties.getProperty("Product-Version");
- warPath = "geode-pulse-"+version+".war";
- String propFilePath = classLoader.getResource("GemFireVersion.properties").getPath();
- warPath = propFilePath.substring(0, propFilePath.indexOf("generated-resources"))+"libs/"+warPath;
- return warPath;
- }
+ @AfterClass
+ public static void tearDownAfterClass() throws Exception {
+ driver.close();
+ jetty.stop();
+ }
+
+ public static String getPulseWarPath() throws Exception {
+ String warPath = null;
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ InputStream inputStream = classLoader.getResourceAsStream("GemFireVersion.properties");
+ Properties properties = new Properties();
+ properties.load(inputStream);
+ String version = properties.getProperty("Product-Version");
+ warPath = "gemfire-pulse-" + version + ".war";
+ String propFilePath = classLoader.getResource("GemFireVersion.properties").getPath();
+ warPath = propFilePath.substring(0, propFilePath.indexOf("generated-resources")) + "libs/" + warPath;
+ return warPath;
+ }
protected void searchByLinkAndClick(String linkText) {
WebElement element = By.linkText(linkText).findElement(driver);
@@ -1015,40 +1026,11 @@ public class PulseTest {
Assert.assertTrue(driver.findElement(By.id("historyIcon")).isDisplayed());
- //Acutal query execution
+ //Actual query execution
driver.findElement(By.id("dataBrowserQueryText")).sendKeys("Query1");
-
-
-
-
+
// Assert data regions are displayed
Assert.assertTrue(driver.findElement(By.id("treeDemo_1")).isDisplayed());
-
-
- }
-
- @AfterClass
- public static void tearDownAfterClass() throws Exception {
- //Thread.sleep(200000000);
- driver.close();
- /*try {
- if (tomcat != null) {
- tomcat.stop();
- tomcat.destroy();
- }
-
- System.out.println("Tomcat Stopped");
-
- if (server != null) {
- server.stop();
- }
-
- System.out.println("Server Stopped");
- } catch (LifecycleException e) {
- e.printStackTrace();
- }
-*/
}
-
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/177f12c7/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/TomcatHelper.java
----------------------------------------------------------------------
diff --git a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/TomcatHelper.java b/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/TomcatHelper.java
deleted file mode 100644
index 0f320a3..0000000
--- a/geode-pulse/src/test/java/com/vmware/gemfire/tools/pulse/tests/TomcatHelper.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-package com.vmware.gemfire.tools.pulse.tests;
-
-import java.net.InetAddress;
-
-import org.apache.catalina.connector.Connector;
-import org.apache.catalina.core.StandardHost;
-import org.apache.catalina.startup.Tomcat;
-import org.apache.tomcat.util.IntrospectionUtils;
-
-public class TomcatHelper {
- public static Tomcat startTomcat(String bindAddress, int port,
- String context, String path) throws Exception {
-
- Tomcat tomcat = new Tomcat();
-
- // Set up logging - first we're going to remove all existing handlers. Don't do this before Tomcat is
- // instantiated otherwise there isn't anything to remove.
- /*
-
- Logger globalLogger = Logger.getLogger("");
- for (Handler handler : globalLogger.getHandlers()) {
- globalLogger.removeHandler(handler);
- }
-
- // Now let's add our handler
- Handler gfHandler = new GemFireHandler((LogWriterImpl) log);
- Logger logger = Logger.getLogger("");
- logger.addHandler(gfHandler);
-
- */
-
- // Set up for commons-logging which is used by Spring.
- // This forces JCL to use the JDK logger otherwise it defaults to trying to
- // use Log4J.
- if (System.getProperty("org.apache.commons.logging.Log") == null) {
- System.setProperty("org.apache.commons.logging.Log",
- "org.apache.commons.logging.impl.Jdk14Logger");
- }
-
- if (bindAddress != null && bindAddress.length() > 0) {
- Connector c = tomcat.getConnector();
- IntrospectionUtils.setProperty(c, "address", bindAddress);
- }
- tomcat.setPort(port);
-
- // Working (scratch) dir
- String scratch = System.getProperty("java.io.tmpdir")
- + System.getProperty("file.separator")
- + "Pulse_"
- + ((bindAddress == null || bindAddress.length() == 0) ? "0.0.0.0"
- : bindAddress) + "_" + port + "_"
- + String.format("%x", path.hashCode());
-
- tomcat.setBaseDir(scratch);
- StandardHost stdHost = (StandardHost) tomcat.getHost();
- // stdHost.setUnpackWARs(false);
- // tomcat.addContext(context, path);
- tomcat.addWebapp(stdHost, context, path);
- stdHost.setDeployOnStartup(true);
- tomcat.start();
-
- return tomcat;
- }
-
- public static void main(String[] args) throws Exception {
- String host = InetAddress.getLocalHost().getHostAddress();
- int port = 9090;
- String path = "D:/springsource/springsourceWS/VMware-Pulse-cheetah-dev-jun13/build-artifacts/win/dist/pulse-7.0.1.war";
- String context = "/pulse";
- System.setProperty("pulse.propMockDataUpdaterClass",
- "com.vmware.gemfire.tools.pulse.testbed.PropMockDataUpdater");
- Tomcat tomcat = TomcatHelper.startTomcat("localhost", port, context, path);
- Thread.sleep(30000);
- System.out.println("Sleep completed");
- System.out.println("Exiting ....");
- tomcat.stop();
- tomcat.destroy();
- }
-}