@Override protected RestSettingBuilder startRestSetting() { return MocoRest.post(); }
@Test public void should_return_404_for_post_with_id_by_default() throws Exception { RestServer server = restServer(12306); final Plain resource1 = new Plain(); resource1.code = 1; resource1.message = "hello"; server.resource("targets", post().response(status(201), header("Location", "/targets/123")) ); running(server, new Runnable() { @Override public void run() throws Exception { HttpResponse httpResponse = helper.postForResponse(remoteUrl("/targets/1"), Jsons.toJson(resource1)); assertThat(httpResponse.getStatusLine().getStatusCode(), is(404)); } }); }
@Test public void should_post() throws Exception { RestServer server = restServer(12306); final Plain resource1 = new Plain(); resource1.code = 1; resource1.message = "hello"; server.resource("targets", post().response(status(201), header("Location", "/targets/123")) ); running(server, new Runnable() { @Override public void run() throws Exception { HttpResponse httpResponse = helper.postForResponse(remoteUrl("/targets"), Jsons.toJson(resource1)); assertThat(httpResponse.getStatusLine().getStatusCode(), is(201)); assertThat(httpResponse.getFirstHeader("Location").getValue(), is("/targets/123")); } }); }
@Test public void should_post_with_header() throws Exception { RestServer server = restServer(12306); final Plain resource = new Plain(); resource.code = 1; resource.message = "hello"; server.resource("targets", post().request(eq(header(HttpHeaders.CONTENT_TYPE), "application/json")) .response(status(201), header("Location", "/targets/123")) ); running(server, new Runnable() { @Override public void run() throws Exception { HttpResponse httpResponse = helper.postForResponse(remoteUrl("/targets"), Jsons.toJson(resource), "application/json"); assertThat(httpResponse.getStatusLine().getStatusCode(), is(201)); assertThat(httpResponse.getFirstHeader("Location").getValue(), is("/targets/123")); HttpResponse badRequest = helper.postForResponse(remoteUrl("/targets"), Jsons.toJson(resource)); assertThat(badRequest.getStatusLine().getStatusCode(), is(400)); } }); }
@Override protected RestSettingBuilder startRestSetting() { return MocoRest.post(); } }