2 * Copyright (c) 2016, Huawei Technologies Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package org.openo.baseservice.roa.util.restclient;
19 import static org.junit.Assert.assertEquals;
20 import static org.junit.Assert.assertNotNull;
22 import org.openo.baseservice.remoteservice.exception.ServiceException;
23 import org.openo.baseservice.roa.util.ServiceUtil;
25 import org.eclipse.jetty.client.HttpClient;
26 import org.eclipse.jetty.client.HttpExchange;
27 import org.junit.After;
28 import org.junit.AfterClass;
29 import org.junit.Assert;
30 import org.junit.Before;
31 import org.junit.BeforeClass;
32 import org.junit.Ignore;
33 import org.junit.Rule;
34 import org.junit.Test;
35 import org.junit.rules.ExpectedException;
36 import org.junit.runner.RunWith;
38 import java.io.IOException;
39 import java.io.UnsupportedEncodingException;
40 import java.lang.reflect.Field;
41 import java.net.URLEncoder;
43 import mockit.Expectations;
47 import mockit.NonStrictExpectations;
48 import mockit.integration.junit4.JMockit;
56 * @version SDNO 0.5 13-Jun-2016
58 @RunWith(JMockit.class)
59 public class TestHttpRest {
62 public ExpectedException thrown = ExpectedException.none();
67 * @throws java.lang.Exception
71 public static void setUpBeforeClass() throws Exception {
77 * @throws java.lang.Exception
81 public static void tearDownAfterClass() throws Exception {
87 * @throws java.lang.Exception
91 public void setUp() throws Exception {
97 * @throws java.lang.Exception
101 public void tearDown() throws Exception {
111 public void testInitHttpRest() throws Exception {
112 final RestfulOptions options = new RestfulOptions();
113 new MockUp<HttpClient>() {
116 public void doStart() {
117 System.out.println("started");
120 final HttpRest httpRest = new HttpRest();
121 httpRest.initHttpRest(options);
122 final Field httpClient = HttpBaseRest.class.getDeclaredField("client");
123 httpClient.setAccessible(true);
124 Assert.assertNotNull(httpClient.get(httpRest));
134 public void testInitHttpRestExcpetion() throws Exception {
135 final RestfulOptions options = new RestfulOptions();
136 new MockUp<HttpClient>() {
139 public void doStart() throws Exception {
140 throw new Exception();
143 final HttpRest httpRest = new HttpRest();
144 thrown.expect(ServiceException.class);
145 thrown.expectMessage("http client init failed.");
146 httpRest.initHttpRest(options);
147 final Field httpClient = HttpRest.class.getDeclaredField("client");
148 httpClient.setAccessible(true);
149 Assert.assertNull(httpClient.get(httpRest));
150 System.out.println("finished");
160 public void testInitHttpRestNull() throws Exception {
161 final HttpRest httpRest = new HttpRest();
162 thrown.expect(ServiceException.class);
163 thrown.expectMessage("option is null.");
164 httpRest.initHttpRest(null);
170 * @throws NoSuchFieldException
175 public void testCreateRestHttpContentExchange() throws NoSuchFieldException, Exception {
176 final HttpBaseRest httpRest = new HttpRest();
177 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
180 public void callback(final RestfulResponse response) {
185 public void handleExcepion(final Throwable e) {
190 final RestHttpContentExchange exchange = httpRest.createRestHttpContentExchange(callback);
191 assertNotNull(exchange);
192 final Field callbackField = RestHttpContentExchange.class.getDeclaredField("callback");
193 assertNotNull(callbackField);
203 public void testGetStringRestfulParametes() throws Exception {
204 final RestfulOptions options = new RestfulOptions();
206 final HttpRest httpRest = getHttpRest(options);
207 new MockUp<RestHttpContentExchange>() {
210 public int waitForDone() {
211 System.out.println("waitForDone");
212 return HttpExchange.STATUS_COMPLETED;
216 public RestfulResponse getResponse() throws IOException {
217 final RestfulResponse response = new RestfulResponse();
218 response.setStatus(HttpExchange.STATUS_COMPLETED);
223 final RestfulParametes parametes = new RestfulParametes();
224 parametes.put("id", "1234");
225 parametes.put("name", "some-name");
226 parametes.put("address", null);
227 parametes.putHttpContextHeader("Content-Type", "application/json");
228 parametes.putHttpContextHeader("Accept-Encoding", "*/*");
229 final RestfulResponse response = httpRest.get("path/to/service", parametes);
230 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
241 public void testGetStringRestfulParametesRestfulOptions() throws Exception {
242 final RestfulOptions options = new RestfulOptions();
244 final HttpRest httpRest = getHttpRest(options);
245 new MockUp<RestHttpContentExchange>() {
248 public int waitForDone() {
249 System.out.println("waitForDone");
250 return HttpExchange.STATUS_COMPLETED;
254 public RestfulResponse getResponse() throws IOException {
255 final RestfulResponse response = new RestfulResponse();
256 response.setStatus(HttpExchange.STATUS_COMPLETED);
261 final RestfulResponse response = httpRest.get("path/to/service", new RestfulParametes(), options);
262 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
273 public void testGetStringRestfulParametesEncodeError() throws Exception {
274 final RestfulOptions options = new RestfulOptions();
276 final HttpRest httpRest = getHttpRest(options);
277 new MockUp<RestHttpContentExchange>() {
280 public int waitForDone() {
281 System.out.println("waitForDone");
282 return HttpExchange.STATUS_COMPLETED;
286 public RestfulResponse getResponse() throws IOException {
287 final RestfulResponse response = new RestfulResponse();
288 response.setStatus(HttpExchange.STATUS_COMPLETED);
294 new NonStrictExpectations() {
300 URLEncoder.encode(anyString, RestfulClientConst.ENCODING);
301 result = new UnsupportedEncodingException();
306 thrown.expect(ServiceException.class);
307 thrown.expectMessage("Broken VM does not support");
309 final RestfulParametes parametes = new RestfulParametes();
310 parametes.put("id", "1234");
311 parametes.put("name", "some-name");
312 parametes.put("address", null);
313 parametes.putHttpContextHeader("Content-Type", "application/json");
314 parametes.putHttpContextHeader("Accept-Encoding", "*/*");
315 final RestfulResponse response = httpRest.get("path/to/service", parametes);
316 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
327 public void testHeadStringRestfulParametes() throws Exception {
328 final RestfulOptions options = new RestfulOptions();
330 final HttpRest httpRest = getHttpRest(options);
331 new MockUp<RestHttpContentExchange>() {
334 public int waitForDone() {
335 System.out.println("waitForDone");
336 return HttpExchange.STATUS_COMPLETED;
340 public RestfulResponse getResponse() throws IOException {
341 final RestfulResponse response = new RestfulResponse();
342 response.setStatus(HttpExchange.STATUS_COMPLETED);
347 final RestfulParametes parametes = new RestfulParametes();
348 parametes.put("id", "1234");
349 parametes.put("name", "some-name");
350 parametes.put("address", null);
351 parametes.putHttpContextHeader("Content-Type", "");
352 parametes.putHttpContextHeader("Accept-Encoding", "");
353 final RestfulResponse response = httpRest.head("path/to/service", parametes);
354 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
365 public void testHeadStringRestfulParametesRestfulOptions() throws Exception {
366 final RestfulOptions options = new RestfulOptions();
368 final HttpRest httpRest = getHttpRest(options);
369 new MockUp<RestHttpContentExchange>() {
372 public int waitForDone() {
373 System.out.println("waitForDone");
374 return HttpExchange.STATUS_COMPLETED;
378 public RestfulResponse getResponse() throws IOException {
379 final RestfulResponse response = new RestfulResponse();
380 response.setStatus(HttpExchange.STATUS_COMPLETED);
385 final RestfulParametes parametes = new RestfulParametes();
386 parametes.put("id", "1234");
387 parametes.put("name", "some-name");
388 parametes.put("address", null);
389 parametes.putHttpContextHeader("Content-Type", "");
390 parametes.putHttpContextHeader("Accept-Encoding", "");
393 ServiceUtil serviceUtil;
396 serviceUtil = new ServiceUtil(anyString, anyString);
397 serviceUtil.getServiceHost();
398 returns("127.0.0.1");
400 serviceUtil.getServicePort();
405 final RestfulResponse response = httpRest.head("path/to/service", parametes, options);
406 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
414 * @throws ServiceException
417 private HttpRest getHttpRest(final RestfulOptions options) throws ServiceException {
418 final HttpRest httpRest = new HttpRest();
420 new MockUp<HttpClient>() {
423 public void doStart() {
424 System.out.println("started");
428 public void send(final HttpExchange exchange) throws IOException {
429 System.out.println("send");
432 httpRest.initHttpRest(options);
445 public void testAsyncGetStringRestfulParametesRestfulAsyncCallback() throws Exception {
446 final RestfulOptions options = new RestfulOptions();
448 final HttpRest httpRest = getHttpRest(options);
449 new MockUp<RestHttpContentExchange>() {
452 public int waitForDone() {
453 System.out.println("waitForDone");
454 return HttpExchange.STATUS_COMPLETED;
458 public RestfulResponse getResponse() throws IOException {
459 final RestfulResponse response = new RestfulResponse();
460 response.setStatus(HttpExchange.STATUS_COMPLETED);
466 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
469 public void callback(final RestfulResponse response) {
470 System.out.println("callback called.");
475 public void handleExcepion(final Throwable e) {
477 System.out.println("handleExcepion called.");
481 httpRest.asyncGet("path/to/service", new RestfulParametes(), callback);
482 httpRest.asyncGet("path/to/service", new RestfulParametes(), null);
488 * @throws ServiceException
492 public void testAsyncGetStringRestfulParametesRestfulOptionsRestfulAsyncCallback() throws ServiceException {
493 final RestfulOptions options = new RestfulOptions();
495 final HttpRest httpRest = getHttpRest(options);
496 new MockUp<RestHttpContentExchange>() {
499 public int waitForDone() {
500 System.out.println("waitForDone");
501 return HttpExchange.STATUS_COMPLETED;
505 public RestfulResponse getResponse() throws IOException {
506 final RestfulResponse response = new RestfulResponse();
507 response.setStatus(HttpExchange.STATUS_COMPLETED);
513 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
516 public void callback(final RestfulResponse response) {
517 System.out.println("callback called.");
522 public void handleExcepion(final Throwable e) {
524 System.out.println("handleExcepion called.");
528 httpRest.asyncGet("path/to/service", new RestfulParametes(), new RestfulOptions(), callback);
529 httpRest.asyncGet("path/to/service", new RestfulParametes(), new RestfulOptions(), null);
535 * @throws ServiceException
540 public void testPutStringRestfulParametes() throws ServiceException {
541 final RestfulOptions options = new RestfulOptions();
543 final HttpRest httpRest = getHttpRest(options);
544 new MockUp<RestHttpContentExchange>() {
547 public int waitForDone() {
548 System.out.println("waitForDone");
549 return HttpExchange.STATUS_COMPLETED;
553 public RestfulResponse getResponse() throws IOException {
554 final RestfulResponse response = new RestfulResponse();
555 response.setStatus(HttpExchange.STATUS_COMPLETED);
560 final RestfulParametes parametes = new RestfulParametes();
561 parametes.put("id", "1234");
562 parametes.put("name", "some-name");
563 parametes.put("address", null);
564 parametes.putHttpContextHeader("Content-Type", "");
565 parametes.putHttpContextHeader("Accept-Encoding", "");
568 ServiceUtil serviceUtil;
571 serviceUtil = new ServiceUtil(anyString, anyString);
572 serviceUtil.getServiceHost();
573 returns("127.0.0.1");
575 serviceUtil.getServicePort();
580 final RestfulResponse response = httpRest.put("path/to/service", parametes);
581 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
587 * @throws ServiceException
592 public void testPutStringRestfulParametesRestfulOptions() throws ServiceException {
594 final RestfulOptions options = new RestfulOptions();
596 final HttpRest httpRest = getHttpRest(options);
597 new MockUp<RestHttpContentExchange>() {
600 public int waitForDone() {
601 System.out.println("waitForDone");
602 return HttpExchange.STATUS_COMPLETED;
606 public RestfulResponse getResponse() throws IOException {
607 final RestfulResponse response = new RestfulResponse();
608 response.setStatus(HttpExchange.STATUS_COMPLETED);
613 final RestfulParametes parametes = new RestfulParametes();
614 parametes.put("id", "1234");
615 parametes.put("name", "some-name");
616 parametes.put("address", null);
617 parametes.putHttpContextHeader("Content-Type", "");
618 parametes.putHttpContextHeader("Accept-Encoding", "");
621 ServiceUtil serviceUtil;
624 serviceUtil = new ServiceUtil(anyString, anyString);
625 serviceUtil.getServiceHost();
626 returns("127.0.0.1");
628 serviceUtil.getServicePort();
633 final RestfulResponse response = httpRest.put("path/to/service", parametes, null);
634 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
640 * @throws ServiceException
644 public void testAsyncPutStringRestfulParametesRestfulAsyncCallback() throws ServiceException {
645 final RestfulOptions options = new RestfulOptions();
647 final HttpRest httpRest = getHttpRest(options);
648 new MockUp<RestHttpContentExchange>() {
651 public int waitForDone() {
652 System.out.println("waitForDone");
653 return HttpExchange.STATUS_COMPLETED;
657 public RestfulResponse getResponse() throws IOException {
658 final RestfulResponse response = new RestfulResponse();
659 response.setStatus(HttpExchange.STATUS_COMPLETED);
665 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
668 public void callback(final RestfulResponse response) {
669 System.out.println("callback called.");
674 public void handleExcepion(final Throwable e) {
676 System.out.println("handleExcepion called.");
680 httpRest.asyncPut("path/to/service", new RestfulParametes(), callback);
681 httpRest.asyncPut("path/to/service", new RestfulParametes(), null);
691 public void testAsyncPutStringRestfulParametesRestfulOptionsRestfulAsyncCallback() throws Exception {
692 final RestfulOptions options = new RestfulOptions();
694 final HttpRest httpRest = getHttpRest(options);
695 new MockUp<RestHttpContentExchange>() {
698 public int waitForDone() {
699 System.out.println("waitForDone");
700 return HttpExchange.STATUS_COMPLETED;
704 public RestfulResponse getResponse() throws IOException {
705 final RestfulResponse response = new RestfulResponse();
706 response.setStatus(HttpExchange.STATUS_COMPLETED);
712 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
715 public void callback(final RestfulResponse response) {
716 System.out.println("callback called.");
721 public void handleExcepion(final Throwable e) {
723 System.out.println("handleExcepion called.");
727 httpRest.asyncPut("path/to/service", new RestfulParametes(), new RestfulOptions(), callback);
728 httpRest.asyncPut("path/to/service", new RestfulParametes(), new RestfulOptions(), null);
738 public void testPostStringRestfulParametes() throws Exception {
739 final RestfulOptions options = new RestfulOptions();
741 final HttpBaseRest httpRest = getHttpRest(options);
742 new MockUp<RestHttpContentExchange>() {
745 public int waitForDone() {
746 System.out.println("waitForDone");
747 return HttpExchange.STATUS_EXPIRED;
751 public RestfulResponse getResponse() throws IOException {
752 final RestfulResponse response = new RestfulResponse();
753 response.setStatus(HttpExchange.STATUS_EXPIRED);
758 final RestfulParametes parameters = new RestfulParametes();
759 parameters.put("id", "1234");
760 parameters.put("name", "some-name");
761 parameters.put("address", null);
762 parameters.putHttpContextHeader("Content-Type", "");
763 parameters.putHttpContextHeader("Accept-Encoding", "");
765 thrown.expect(ServiceException.class);
766 thrown.expectMessage("request is expierd");
767 final RestfulResponse response = httpRest.post("http://localhost:80/path/to/service", parameters);
768 assertEquals(HttpExchange.STATUS_EXPIRED, response.getStatus());
774 * @throws ServiceException
779 public void testPostStringRestfulParametesRestfulOptions() throws ServiceException {
780 final RestfulOptions options = new RestfulOptions();
782 final HttpBaseRest httpRest = getHttpRest(options);
783 new MockUp<RestHttpContentExchange>() {
786 public int waitForDone() {
787 System.out.println("waitForDone" + HttpExchange.STATUS_EXCEPTED);
788 return HttpExchange.STATUS_EXCEPTED;
792 public RestfulResponse getResponse() throws IOException {
793 final RestfulResponse response = new RestfulResponse();
794 response.setStatus(HttpExchange.STATUS_COMPLETED);
799 final RestfulParametes parameters = new RestfulParametes();
800 parameters.put("id", "1234");
801 parameters.put("name", "some-name");
802 parameters.put("address", null);
803 parameters.setRawData("{ \"data\"=\"sample JSON data\"");
804 parameters.putHttpContextHeader("Content-Type", "");
805 parameters.putHttpContextHeader("Accept-Encoding", "");
808 ServiceUtil serviceUtil;
811 serviceUtil = new ServiceUtil(anyString, anyString);
812 serviceUtil.getServiceHost();
813 returns("127.0.0.1");
815 serviceUtil.getServicePort();
820 thrown.expect(ServiceException.class);
821 thrown.expectMessage("request is exception");
822 final RestfulResponse response = httpRest.post("path/to/service", parameters, null);
823 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
833 public void testAsyncPostStringRestfulParametesRestfulAsyncCallback() throws Exception {
834 final RestfulOptions options = new RestfulOptions();
835 options.setRestTimeout(10);
837 final HttpBaseRest httpRest = getHttpRest(options);
838 new MockUp<RestHttpContentExchange>() {
841 public int waitForDone() {
842 System.out.println("waitForDone:" + HttpExchange.STATUS_EXCEPTED);
847 public RestfulResponse getResponse() throws IOException {
848 final RestfulResponse response = new RestfulResponse();
849 response.setStatus(HttpExchange.STATUS_EXCEPTED);
855 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
858 public void callback(final RestfulResponse response) {
859 System.out.println("callback called.");
864 public void handleExcepion(final Throwable e) {
866 System.out.println("handleExcepion called.");
870 httpRest.asyncPost("path/to/service", new RestfulParametes(), options, callback);
871 httpRest.asyncPost("path/to/service", new RestfulParametes(), options, null);
877 * @throws ServiceException
881 public void testAsyncPostStringRestfulParametesRestfulOptionsRestfulAsyncCallback() throws ServiceException {
882 final RestfulOptions options = new RestfulOptions();
883 options.setRestTimeout(10);
885 final HttpBaseRest httpRest = getHttpRest(options);
886 new MockUp<RestHttpContentExchange>() {
889 public int waitForDone() {
890 System.out.println("waitForDone:" + HttpExchange.STATUS_COMPLETED);
891 return HttpExchange.STATUS_COMPLETED;
895 public RestfulResponse getResponse() throws IOException {
896 final RestfulResponse response = new RestfulResponse();
897 response.setStatus(HttpExchange.STATUS_COMPLETED);
903 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
906 public void callback(final RestfulResponse response) {
907 System.out.println("callback called.");
912 public void handleExcepion(final Throwable e) {
914 System.out.println("handleExcepion called.");
918 httpRest.asyncPost("path/to/service", new RestfulParametes(), options, callback);
919 httpRest.asyncPost("path/to/service", new RestfulParametes(), options, null);
925 * @throws ServiceException
929 public void testDeleteStringRestfulParametes() throws ServiceException {
930 final RestfulOptions options = new RestfulOptions();
932 final HttpBaseRest httpRest = getHttpRest(options);
934 final RestfulResponse response = httpRest.delete("path/to/service", null);
935 assertEquals(-1, response.getStatus());
941 * @throws ServiceException
946 public void testDeleteStringRestfulParametesRestfulOptions() throws ServiceException {
947 final RestfulOptions options = new RestfulOptions();
949 final HttpBaseRest httpRest = getHttpRest(options);
950 new MockUp<RestHttpContentExchange>() {
953 public int waitForDone() {
954 System.out.println("waitForDone" + HttpExchange.STATUS_COMPLETED);
955 return HttpExchange.STATUS_COMPLETED;
959 public RestfulResponse getResponse() throws IOException {
960 final RestfulResponse response = new RestfulResponse();
961 response.setStatus(HttpExchange.STATUS_COMPLETED);
966 final RestfulParametes parameters = new RestfulParametes();
967 parameters.put("id", "1234");
968 parameters.put("name", "some-name");
969 parameters.put("address", null);
970 parameters.setRawData("{ \"data\"=\"sample JSON data\"");
971 parameters.putHttpContextHeader("Content-Type", "");
972 parameters.putHttpContextHeader("Accept-Encoding", "");
975 ServiceUtil serviceUtil;
978 serviceUtil = new ServiceUtil(anyString, anyString);
979 serviceUtil.getServiceHost();
980 returns("127.0.0.1");
982 serviceUtil.getServicePort();
987 final RestfulResponse response = httpRest.delete("path/to/service", parameters, options);
988 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
994 * @throws ServiceException
998 public void testAsyncDeleteStringRestfulParametesRestfulAsyncCallback() throws ServiceException {
999 final RestfulOptions options = new RestfulOptions();
1000 options.setRestTimeout(10);
1002 final HttpBaseRest httpRest = getHttpRest(options);
1003 new MockUp<RestHttpContentExchange>() {
1006 public int waitForDone() {
1007 System.out.println("waitForDone:" + HttpExchange.STATUS_COMPLETED);
1008 return HttpExchange.STATUS_COMPLETED;
1012 public RestfulResponse getResponse() throws IOException {
1013 final RestfulResponse response = new RestfulResponse();
1014 response.setStatus(HttpExchange.STATUS_COMPLETED);
1020 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
1023 public void callback(final RestfulResponse response) {
1024 System.out.println("callback called.");
1029 public void handleExcepion(final Throwable e) {
1031 System.out.println("handleExcepion called.");
1035 httpRest.asyncDelete("path/to/service", new RestfulParametes(), callback);
1036 httpRest.asyncDelete("path/to/service", new RestfulParametes(), null);
1042 * @throws ServiceException
1046 public void testAsyncDeleteStringRestfulParametesRestfulOptionsRestfulAsyncCallback() throws ServiceException {
1047 final RestfulOptions options = new RestfulOptions();
1048 options.setRestTimeout(10);
1050 final HttpBaseRest httpRest = getHttpRest(options);
1051 new MockUp<RestHttpContentExchange>() {
1054 public int waitForDone() {
1055 System.out.println("waitForDone:" + HttpExchange.STATUS_COMPLETED);
1056 return HttpExchange.STATUS_COMPLETED;
1060 public RestfulResponse getResponse() throws IOException {
1061 final RestfulResponse response = new RestfulResponse();
1062 response.setStatus(HttpExchange.STATUS_COMPLETED);
1068 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
1071 public void callback(final RestfulResponse response) {
1072 System.out.println("callback called.");
1077 public void handleExcepion(final Throwable e) {
1079 System.out.println("handleExcepion called.");
1083 httpRest.asyncDelete("path/to/service", new RestfulParametes(), options, callback);
1084 httpRest.asyncDelete("path/to/service", new RestfulParametes(), options, null);
1090 * @throws ServiceException
1095 public void testPatchStringRestfulParametes() throws ServiceException {
1096 final RestfulOptions options = new RestfulOptions();
1098 final HttpBaseRest httpRest = getHttpRest(options);
1099 new MockUp<RestHttpContentExchange>() {
1102 public int waitForDone() {
1103 System.out.println("waitForDone" + HttpExchange.STATUS_COMPLETED);
1104 return HttpExchange.STATUS_COMPLETED;
1108 public RestfulResponse getResponse() throws IOException {
1109 final RestfulResponse response = new RestfulResponse();
1110 response.setStatus(HttpExchange.STATUS_COMPLETED);
1115 final RestfulParametes parameters = new RestfulParametes();
1116 parameters.put("id", "1234");
1117 parameters.put("name", "some-name");
1118 parameters.put("address", null);
1119 parameters.setRawData("{ \"data\"=\"sample JSON data\"");
1120 parameters.putHttpContextHeader("Content-Type", "");
1121 parameters.putHttpContextHeader("Accept-Encoding", "");
1122 new Expectations() {
1124 ServiceUtil serviceUtil;
1127 serviceUtil = new ServiceUtil(anyString, anyString);
1128 serviceUtil.getServiceHost();
1129 returns("127.0.0.1");
1131 serviceUtil.getServicePort();
1136 final RestfulResponse response = httpRest.patch("path/to/service", parameters);
1137 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
1143 * @throws ServiceException
1148 public void testPatchStringRestfulParametesRestfulOptions() throws ServiceException {
1149 final RestfulOptions options = new RestfulOptions();
1151 final HttpBaseRest httpRest = getHttpRest(options);
1152 new MockUp<RestHttpContentExchange>() {
1155 public int waitForDone() {
1156 System.out.println("waitForDone" + HttpExchange.STATUS_COMPLETED);
1157 return HttpExchange.STATUS_COMPLETED;
1161 public RestfulResponse getResponse() throws IOException {
1162 final RestfulResponse response = new RestfulResponse();
1163 response.setStatus(HttpExchange.STATUS_COMPLETED);
1168 final RestfulParametes parameters = new RestfulParametes();
1169 parameters.put("id", "1234");
1170 parameters.put("name", "some-name");
1171 parameters.put("address", null);
1172 parameters.setRawData("{ \"data\"=\"sample JSON data\"");
1173 parameters.putHttpContextHeader("Content-Type", "");
1174 parameters.putHttpContextHeader("Accept-Encoding", "");
1175 new Expectations() {
1177 ServiceUtil serviceUtil;
1180 serviceUtil = new ServiceUtil(anyString, anyString);
1181 serviceUtil.getServiceHost();
1182 returns("127.0.0.1");
1184 serviceUtil.getServicePort();
1189 final RestfulResponse response = httpRest.patch("path/to/service", parameters, options);
1190 assertEquals(HttpExchange.STATUS_COMPLETED, response.getStatus());
1196 * @throws ServiceException
1200 public void testAsyncPatchStringRestfulParametesRestfulAsyncCallback() throws ServiceException {
1201 final RestfulOptions options = new RestfulOptions();
1202 options.setRestTimeout(10);
1204 final HttpBaseRest httpRest = getHttpRest(options);
1205 new MockUp<RestHttpContentExchange>() {
1208 public int waitForDone() {
1209 System.out.println("waitForDone:" + HttpExchange.STATUS_COMPLETED);
1210 return HttpExchange.STATUS_COMPLETED;
1214 public RestfulResponse getResponse() throws IOException {
1215 final RestfulResponse response = new RestfulResponse();
1216 response.setStatus(HttpExchange.STATUS_COMPLETED);
1222 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
1225 public void callback(final RestfulResponse response) {
1226 System.out.println("callback called.");
1231 public void handleExcepion(final Throwable e) {
1233 System.out.println("handleExcepion called.");
1237 httpRest.asyncPatch("path/to/service", new RestfulParametes(), callback);
1238 httpRest.asyncPatch("path/to/service", new RestfulParametes(), null);
1244 * @throws ServiceException
1248 public void testAsyncPatchStringRestfulParametesRestfulOptionsRestfulAsyncCallback() throws ServiceException {
1249 final RestfulOptions options = new RestfulOptions();
1250 options.setRestTimeout(10);
1252 final HttpBaseRest httpRest = getHttpRest(options);
1253 new MockUp<RestHttpContentExchange>() {
1256 public int waitForDone() {
1257 System.out.println("waitForDone:" + HttpExchange.STATUS_COMPLETED);
1258 return HttpExchange.STATUS_COMPLETED;
1262 public RestfulResponse getResponse() throws IOException {
1263 final RestfulResponse response = new RestfulResponse();
1264 response.setStatus(HttpExchange.STATUS_COMPLETED);
1270 final RestfulAsyncCallback callback = new RestfulAsyncCallback() {
1273 public void callback(final RestfulResponse response) {
1274 System.out.println("callback called.");
1279 public void handleExcepion(final Throwable e) {
1281 System.out.println("handleExcepion called.");
1285 httpRest.asyncPatch("path/to/service", new RestfulParametes(), options, callback);
1286 httpRest.asyncPatch("path/to/service", new RestfulParametes(), options, null);