aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/java/org/traccar/web/client/GwtTestTraccar.java75
-rw-r--r--src/test/realm.properties2
-rw-r--r--src/test/resources/org/traccar/web/TraccarJUnit.gwt.xml9
3 files changed, 86 insertions, 0 deletions
diff --git a/src/test/java/org/traccar/web/client/GwtTestTraccar.java b/src/test/java/org/traccar/web/client/GwtTestTraccar.java
new file mode 100644
index 00000000..2c6a4454
--- /dev/null
+++ b/src/test/java/org/traccar/web/client/GwtTestTraccar.java
@@ -0,0 +1,75 @@
+package org.traccar.web.client;
+
+import org.traccar.web.shared.FieldVerifier;
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.junit.client.GWTTestCase;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+import com.google.gwt.user.client.rpc.ServiceDefTarget;
+
+/**
+ * GWT JUnit <b>integration</b> tests must extend GWTTestCase.
+ * Using <code>"GwtTest*"</code> naming pattern exclude them from running with
+ * surefire during the test phase.
+ *
+ * If you run the tests using the Maven command line, you will have to
+ * navigate with your browser to a specific url given by Maven.
+ * See http://mojo.codehaus.org/gwt-maven-plugin/user-guide/testing.html
+ * for details.
+ */
+public class GwtTestTraccar extends GWTTestCase {
+
+ /**
+ * Must refer to a valid module that sources this class.
+ */
+ public String getModuleName() {
+ return "org.traccar.web.TraccarJUnit";
+ }
+
+ /**
+ * Tests the FieldVerifier.
+ */
+ public void testFieldVerifier() {
+ assertFalse(FieldVerifier.isValidName(null));
+ assertFalse(FieldVerifier.isValidName(""));
+ assertFalse(FieldVerifier.isValidName("a"));
+ assertFalse(FieldVerifier.isValidName("ab"));
+ assertFalse(FieldVerifier.isValidName("abc"));
+ assertTrue(FieldVerifier.isValidName("abcd"));
+ }
+
+ /**
+ * This test will send a request to the server using the greetServer method in
+ * GreetingService and verify the response.
+ */
+ public void testGreetingService() {
+ // Create the service that we will test.
+ GreetingServiceAsync greetingService = GWT.create(GreetingService.class);
+ ServiceDefTarget target = (ServiceDefTarget) greetingService;
+ target.setServiceEntryPoint(GWT.getModuleBaseURL() + "Traccar/greet");
+
+ // Since RPC calls are asynchronous, we will need to wait for a response
+ // after this test method returns. This line tells the test runner to wait
+ // up to 10 seconds before timing out.
+ delayTestFinish(10000);
+
+ // Send a request to the server.
+ greetingService.greetServer("GWT User", new AsyncCallback<String>() {
+ public void onFailure(Throwable caught) {
+ // The request resulted in an unexpected error.
+ fail("Request failure: " + caught.getMessage());
+ }
+
+ public void onSuccess(String result) {
+ // Verify that the response is correct.
+ assertTrue(result.startsWith("Hello, GWT User!"));
+
+ // Now that we have received a response, we need to tell the test runner
+ // that the test is complete. You must call finishTest() after an
+ // asynchronous test finishes successfully, or the test will time out.
+ finishTest();
+ }
+ });
+ }
+
+
+}
diff --git a/src/test/realm.properties b/src/test/realm.properties
new file mode 100644
index 00000000..9a068c7f
--- /dev/null
+++ b/src/test/realm.properties
@@ -0,0 +1,2 @@
+admin: admin,admin
+user: user,user
diff --git a/src/test/resources/org/traccar/web/TraccarJUnit.gwt.xml b/src/test/resources/org/traccar/web/TraccarJUnit.gwt.xml
new file mode 100644
index 00000000..4c957890
--- /dev/null
+++ b/src/test/resources/org/traccar/web/TraccarJUnit.gwt.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module>
+ <!-- Inherit our applications main module. -->
+ <inherits name='org.traccar.web.Traccar' />
+
+ <!-- Specify the path to any remote services. -->
+ <servlet path="/Traccar/greet" class="org.traccar.web.server.GreetingServiceImpl" />
+
+</module>