diff options
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/java/org/traccar/web/client/GwtTestTraccar.java | 75 | ||||
-rw-r--r-- | src/test/realm.properties | 2 | ||||
-rw-r--r-- | src/test/resources/org/traccar/web/TraccarJUnit.gwt.xml | 9 |
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> |