From 2212bd0805e2651ee4823f0be3e33a20bced9d60 Mon Sep 17 00:00:00 2001 From: Doug Morato Date: Sat, 22 Aug 2015 13:39:42 -0400 Subject: [PATCH] Initial push of testing work --- webgoat-container/pom.xml | 106 +++++++++++++++++- .../org/owasp/webgoat/plugins/WebGoatIT.java | 53 +++++++++ 2 files changed, 157 insertions(+), 2 deletions(-) create mode 100644 webgoat-container/src/test/java/org/owasp/webgoat/plugins/WebGoatIT.java diff --git a/webgoat-container/pom.xml b/webgoat-container/pom.xml index ef27e7f5c..63aadc516 100644 --- a/webgoat-container/pom.xml +++ b/webgoat-container/pom.xml @@ -96,10 +96,10 @@ org.apache.tomcat.maven tomcat7-maven-plugin - 2.1 + 2.2 local_tomcat - http://localhost:8080/manager/text + http://localhost:8080/manager /WebGoat exec true @@ -135,6 +135,98 @@ + + start-tomcat + pre-integration-test + + run-war-only + + + 8080 + true + + + org.owasp.webgoat + webgoat-classloader + ${project.version} + + + + + + + stop-tomcat + post-integration-test + + shutdown + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 2.18 + + + **/*IT.java + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.18.1 + + + + integration-test + verify + + @@ -388,6 +480,16 @@ 1.7.7 jar + + com.github.klieber + phantomjs-maven-plugin + 0.6 + + + org.seleniumhq.selenium + selenium-java + 2.47.1 + diff --git a/webgoat-container/src/test/java/org/owasp/webgoat/plugins/WebGoatIT.java b/webgoat-container/src/test/java/org/owasp/webgoat/plugins/WebGoatIT.java new file mode 100644 index 000000000..ff65e4a7b --- /dev/null +++ b/webgoat-container/src/test/java/org/owasp/webgoat/plugins/WebGoatIT.java @@ -0,0 +1,53 @@ +package org.owasp.webgoat.plugins; +import org.junit.Test; + +import static org.junit.Assert.assertNotNull; + +import org.junit.experimental.categories.Category; +import org.openqa.selenium.By; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.firefox.FirefoxDriver; + + +/** + * Created by dm on 8/21/15. + */ + +public class WebGoatIT { + /*@Test + public void shouldHavePhantomJsBinary() { + String binary = System.getProperty("phantomjs.binary"); + assertNotNull(binary); + assertTrue(new File(binary).exists()); + }*/ + + @Test + public void testTomcatDeployment() { + WebDriver driver = new FirefoxDriver(); + driver.get("http://localhost:8080/WebGoat"); + + WebElement usernameElement = driver.findElement(By.name("username")); + WebElement passwordElement = driver.findElement(By.name("password")); + assertNotNull(usernameElement); + assertNotNull(passwordElement); + } + + @Test + public void testLogin() { + WebDriver driver = new FirefoxDriver(); + driver.get("http://localhost:8080/WebGoat"); + + WebElement usernameElement = driver.findElement(By.name("username")); + WebElement passwordElement = driver.findElement(By.name("password")); + assertNotNull(usernameElement); + assertNotNull(passwordElement); + + usernameElement.sendKeys("webgoat"); + passwordElement.sendKeys("webgoat"); + passwordElement.submit(); + + WebElement cookieParameters = driver.findElement(By.id("cookies-and-params")); + assertNotNull(cookieParameters); + } +}