import static play.test.Helpers.contentAsString; import static play.test.Helpers.routeAndCall; import static play.test.Helpers.running; import static play.test.Helpers.PUT; import javax.ws.rs.core.MediaType; import org.apache.http.protocol.HTTP; import org.junit.Assert; import org.junit.Test; import com.baasbox.service.logging.BaasBoxLogger; import play.mvc.Result; import play.mvc.Http.Status; import play.test.FakeRequest; import com.baasbox.controllers.Admin; import com.baasbox.controllers.CustomHttpCode; import com.baasbox.service.push.providers.GCMServer; import core.AbstractTest; import core.TestConfig; public class PushGcmApiKeyTest extends AbstractTest { @Test public void PushGcmApiKey(){ running ( getFakeApplication(), new Runnable() { public void run() { String sAuthEnc = TestConfig.AUTH_ADMIN_ENC; FakeRequest request = new FakeRequest("PUT", "/admin/configuration/Push/profile1.sandbox.android.api.key"); request = request.withHeader(TestConfig.KEY_APPCODE, TestConfig.VALUE_APPCODE); request = request.withHeader(TestConfig.KEY_AUTH, sAuthEnc); request = request.withHeader(HTTP.CONTENT_TYPE, MediaType.APPLICATION_JSON); request = request.withJsonBody(getPayload(getDefaultPayload()), getMethod()); Result result = routeAndCall(request); if (BaasBoxLogger.isDebugEnabled()) BaasBoxLogger.debug("testSetApiKey request: " + request.getWrappedRequest().headers()); if (BaasBoxLogger.isDebugEnabled()) BaasBoxLogger.debug("testSetApiKey result: " + contentAsString(result)); assertRoute(result, "testSetApiKey not valid", Status.SERVICE_UNAVAILABLE, CustomHttpCode.PUSH_INVALID_APIKEY.getDescription(), true); } } ); } @Override public String getRouteAddress() { // TODO Auto-generated method stub return null; } @Override public String getMethod() { return PUT; } @Override protected void assertContent(String s) { // TODO Auto-generated method stub } @Override public String getDefaultPayload() { return "/adminSetApiKey.json"; } }