/** * Copyright (C) 2009-2012 the original author or authors. * See the notice.md file distributed with this work for additional * information regarding copyright ownership. * * Licensed 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 org.fusesource.restygwt.client.basic; import com.google.gwt.core.client.GWT; import com.google.gwt.http.client.Request; import com.google.gwt.junit.client.GWTTestCase; import com.google.gwt.user.client.Timer; import org.fusesource.restygwt.client.Method; import org.fusesource.restygwt.client.MethodCallback; import org.fusesource.restygwt.client.Resource; import org.fusesource.restygwt.client.RestServiceProxy; import org.junit.Test; /** * * * @author <a href="mailto:mail@raphaelbauer.com">rEyez</<a> * */ public class BasicTestGwt extends GWTTestCase { @Override public String getModuleName() { return "org.fusesource.restygwt.BasicTestGwt"; } public void testDefaultFunction() { //configure RESTY Resource resource = new Resource(GWT.getModuleBaseURL() + "api/getendpoint"); ExampleService service = GWT.create(ExampleService.class); ((RestServiceProxy) service).setResource(resource); service.getExampleDto(new MethodCallback<ExampleDto>() { @Override public void onSuccess(Method method, ExampleDto response) { assertEquals(response.name, "myName"); finishTest(); } @Override public void onFailure(Method method, Throwable exception) { fail(); } }); // wait... we are in async testing... delayTestFinish(10000); } @Test public void testCancelRequest() { Resource resource = new Resource(GWT.getModuleBaseURL() + "api/getendpoint"); ExampleService service = GWT.create(ExampleService.class); ((RestServiceProxy) service).setResource(resource); Request request = service.getExampleDtoCancelable(new MethodCallback<ExampleDto>() { @Override public void onSuccess(Method method, ExampleDto response) { fail(); } @Override public void onFailure(Method method, Throwable exception) { fail(); } }); request.cancel(); // after waiting for 10 seconds assume, that the request has been canceled successfully new Timer() { @Override public void run() { finishTest(); } }.schedule(10000); // wait... we are in async testing... delayTestFinish(15000); } @Test public void testNullObjectPost() { //configure RESTY Resource resource = new Resource(GWT.getModuleBaseURL() + "api"); ExampleService service = GWT.create(ExampleService.class); ((RestServiceProxy) service).setResource(resource); service.storeDto(null, new MethodCallback<Void>() { @Override public void onSuccess(Method method, Void response) { // Nothing awaited because its a test for send null objects finishTest(); } @Override public void onFailure(Method method, Throwable exception) { fail(); } }); // wait... we are in async testing... delayTestFinish(10000); } }