diff --git a/apps/blank/pom.xml b/apps/blank/pom.xml
index bac3383d4..9d5d42431 100644
--- a/apps/blank/pom.xml
+++ b/apps/blank/pom.xml
@@ -3,25 +3,25 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
Set welcome message.
- *
- */
-public class Welcome extends ActionSupport {
-
- private static final long serialVersionUID = -3881551454078687096L;
-
- public static final String MESSAGE = "Struts is up and running ...";
-
- public String execute() throws Exception {
- setMessage(MESSAGE);
- return SUCCESS;
- }
-
- /**
- * Field for Message property.
- */
- private String message;
-
- /**
- * Return Message property.
- * @return Message property
- */
- public String getMessage() {
- return message;
- }
-
- /**
- * Set Message property.
- * @param message Text to display on Welcome page.
- */
- public void setMessage(String message){
- this.message = message;
- }
-}
diff --git a/apps/blank/src/main/java/tutorial/HelloWorld.java b/apps/blank/src/main/java/tutorial/HelloWorld.java
new file mode 100644
index 000000000..da9589955
--- /dev/null
+++ b/apps/blank/src/main/java/tutorial/HelloWorld.java
@@ -0,0 +1,37 @@
+package tutorial;
+
+/**
+ * Set welcome message.
+ */
+public class HelloWorld extends TutorialSupport {
+
+ public static final String MESSAGE = "HelloWorld.message";
+
+ public String execute() throws Exception {
+ setMessage(getText(MESSAGE));
+ return SUCCESS;
+ }
+
+ /**
+ * Field for Message property.
+ */
+ private String message;
+
+ /**
+ * Return Message property.
+ *
+ * @return Message property
+ */
+ public String getMessage() {
+ return message;
+ }
+
+ /**
+ * Set Message property.
+ *
+ * @param message Text to display on HelloWorld page.
+ */
+ public void setMessage(String message) {
+ this.message = message;
+ }
+}
diff --git a/apps/blank/src/main/java/tutorial/Login-validation.xml b/apps/blank/src/main/java/tutorial/Login-validation.xml
new file mode 100644
index 000000000..4d10a340b
--- /dev/null
+++ b/apps/blank/src/main/java/tutorial/Login-validation.xml
@@ -0,0 +1,16 @@
+
+
+
Loading ...
+ + diff --git a/apps/blank/src/main/webapp/tutorial/HelloWorld.jsp b/apps/blank/src/main/webapp/tutorial/HelloWorld.jsp new file mode 100644 index 000000000..f2734987c --- /dev/null +++ b/apps/blank/src/main/webapp/tutorial/HelloWorld.jsp @@ -0,0 +1,11 @@ +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib prefix="s" uri="/struts-tags" %> + + +
+
WelcomeTest
- *
- */
-public class WelcomeTest extends TestCase {
-
- public void testWelcome() throws Exception {
- Welcome welcome = new Welcome();
- String result = welcome.execute();
- assertEquals(ActionSupport.SUCCESS, result);
- assertEquals(welcome.getMessage(), Welcome.MESSAGE);
- }
-}
diff --git a/apps/blank/src/test/java/tutorial/ConfigTest.java b/apps/blank/src/test/java/tutorial/ConfigTest.java
new file mode 100644
index 000000000..08cd32f5e
--- /dev/null
+++ b/apps/blank/src/test/java/tutorial/ConfigTest.java
@@ -0,0 +1,50 @@
+package tutorial;
+
+import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.XWorkTestCase;
+import com.opensymphony.xwork2.config.RuntimeConfiguration;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
+import com.opensymphony.xwork2.config.entities.ResultConfig;
+import com.opensymphony.xwork2.config.providers.XmlConfigurationProvider;
+
+import java.util.Map;
+
+public class ConfigTest extends XWorkTestCase {
+
+ protected void AssertSuccess(String result) throws Exception {
+ assertTrue("Expected a success result!",
+ ActionSupport.SUCCESS.equals(result));
+ }
+
+ protected void setUp() throws Exception {
+ super.setUp();
+ XmlConfigurationProvider c = new XmlConfigurationProvider("struts.xml");
+ configurationManager.addConfigurationProvider(c);
+ configurationManager.reload();
+ }
+
+ protected ActionConfig assertClass(String action_name, String class_name) {
+ RuntimeConfiguration configuration = configurationManager.getConfiguration().getRuntimeConfiguration();
+ ActionConfig config = configuration.getActionConfig("", action_name);
+ assertNotNull("Mssing action", config);
+ assertTrue("Wrong class name: [" + config.getClassName() + "]",
+ class_name.equals(config.getClassName()));
+ return config;
+ }
+
+ protected void assertResult(ActionConfig config, String result_name, String result_value) {
+ Map results = config.getResults();
+ ResultConfig result = (ResultConfig) results.get(result_name);
+ Map params = result.getParams();
+ String value = (String) params.get("actionName");
+ if (value == null)
+ value = (String) params.get("location");
+ assertTrue("Wrong result value: [" + value + "]",
+ result_value.equals(value));
+ }
+
+ public void testConfig() throws Exception {
+ assertNotNull(configurationManager);
+ }
+
+}
diff --git a/apps/blank/src/test/java/tutorial/HelloWorldTest.java b/apps/blank/src/test/java/tutorial/HelloWorldTest.java
new file mode 100644
index 000000000..0127e2fb2
--- /dev/null
+++ b/apps/blank/src/test/java/tutorial/HelloWorldTest.java
@@ -0,0 +1,16 @@
+package tutorial;
+
+import com.opensymphony.xwork2.ActionSupport;
+import junit.framework.TestCase;
+
+public class HelloWorldTest extends TestCase {
+
+ public void testHelloWorld() throws Exception {
+ HelloWorld hello_world = new HelloWorld();
+ String result = hello_world.execute();
+ assertTrue("Expected a success result!",
+ ActionSupport.SUCCESS.equals(result));
+ assertTrue("Expected the default message!",
+ hello_world.getText(HelloWorld.MESSAGE).equals(hello_world.getMessage()));
+ }
+}
diff --git a/apps/blank/src/test/java/tutorial/LoginTest.java b/apps/blank/src/test/java/tutorial/LoginTest.java
new file mode 100644
index 000000000..cd22c8c54
--- /dev/null
+++ b/apps/blank/src/test/java/tutorial/LoginTest.java
@@ -0,0 +1,22 @@
+package tutorial;
+
+import com.opensymphony.xwork2.ActionSupport;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
+
+public class LoginTest extends ConfigTest {
+
+ public void FIXME_testLoginConfig() throws Exception {
+ ActionConfig config = assertClass("Login", "tutorial.Login");
+ assertResult(config, ActionSupport.SUCCESS, "Menu");
+ assertResult(config, ActionSupport.INPUT, "/tutorial/Login.jsp");
+ }
+
+ public void testLoginSubmit() throws Exception {
+ Login login = new Login();
+ login.setUsername("username");
+ login.setPassword("password");
+ String result = login.execute();
+ AssertSuccess(result);
+ }
+
+}