2 * Copyright 2015 Samsung Electronics All Rights Reserved.
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.oic.simulator.client.test;
19 import java.util.HashMap;
21 import java.util.concurrent.CountDownLatch;
22 import java.util.concurrent.TimeUnit;
24 import org.oic.simulator.AttributeValue;
25 import org.oic.simulator.InvalidArgsException;
26 import org.oic.simulator.SimulatorException;
27 import org.oic.simulator.SimulatorManager;
28 import org.oic.simulator.SimulatorResourceAttribute;
29 import org.oic.simulator.SimulatorResourceModel;
30 import org.oic.simulator.SimulatorResult;
31 import org.oic.simulator.client.FindResourceListener;
32 import org.oic.simulator.client.SimulatorRemoteResource;
33 import org.oic.simulator.server.SimulatorSingleResource;
34 import org.oic.simulator.test.ExceptionType;
35 import org.oic.simulator.utils.ObjectHolder;
37 import junit.framework.TestCase;
40 * This class tests the APIs of SimulatorRemoteResource class.
42 public class SimulatorRemoteResourceTest extends TestCase {
43 private static final String SINGLE_RES_RAML = "./ramls/oic.r.light.raml";
44 private static SimulatorSingleResource singleResource = null;
45 private static SimulatorRemoteResource remoteResource = null;
48 System.loadLibrary("SimulatorManager");
49 System.loadLibrary("RamlParser");
50 System.loadLibrary("oc");
51 System.loadLibrary("oc_logger");
52 System.loadLibrary("octbstack");
55 protected void setUp() throws Exception {
58 // Create single resource for first time
59 if (null == singleResource) {
60 singleResource = (SimulatorSingleResource) SimulatorManager
61 .createResource(SINGLE_RES_RAML);
62 singleResource.start();
65 // Find the created resource for first time
66 if (null != singleResource && null == remoteResource) {
67 CountDownLatch lockObject = new CountDownLatch(1);
68 ObjectHolder<SimulatorRemoteResource> resourceHolder = new ObjectHolder<>();
69 FindResourceCallbackListener listener = new FindResourceCallbackListener(
70 lockObject, resourceHolder);
73 SimulatorManager.findResource(singleResource.getResourceType(),
77 lockObject.await(10, TimeUnit.SECONDS);
78 } catch (InterruptedException e) {
81 } catch (InvalidArgsException e) {
83 } catch (SimulatorException e) {
87 remoteResource = resourceHolder.get();
91 protected void tearDown() throws Exception {
95 public void testGetUri_P01() {
96 String serverURI = null;
98 serverURI = singleResource.getURI();
99 } catch (SimulatorException e) {
103 assertNotNull(remoteResource.getURI());
104 assertEquals(serverURI, remoteResource.getURI());
107 public void testGetConnectivityType_P01() {
108 assertNotNull(remoteResource.getConnectivityType());
111 public void testGetResourceTypes_P01() {
112 assertNotNull(remoteResource.getResourceTypes());
113 assertTrue(remoteResource.getResourceTypes().size() > 0);
116 public void testGetResourceInterfaces_P01() {
117 assertNotNull(remoteResource.getResourceInterfaces());
118 assertTrue(remoteResource.getResourceInterfaces().size() > 0);
121 public void testGetHost_P01() {
122 assertNotNull(remoteResource.getHost());
125 public void testGetId_P01() {
126 assertNotNull(remoteResource.getId());
129 public void testIsObservable_P01() {
130 boolean serverObserveState = false;
132 serverObserveState = singleResource.isObservable();
133 } catch (SimulatorException e) {
137 assertEquals(serverObserveState, remoteResource.isObservable());
140 public void testGet_P01() {
141 CountDownLatch lockObject = new CountDownLatch(1);
142 boolean syncResult = false;
143 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
144 GetResponseCallbackListener listener = new GetResponseCallbackListener(
145 lockObject, response);
148 remoteResource.get(null, listener);
151 lockObject.await(10, TimeUnit.SECONDS);
152 } catch (InterruptedException e) {
156 } catch (InvalidArgsException e) {
158 } catch (SimulatorException e) {
162 assertTrue(syncResult);
163 assertNotNull(response.get());
164 assertEquals(remoteResource.getId(), response.get().uid());
167 public void testGet_P02() {
168 CountDownLatch lockObject = new CountDownLatch(1);
169 boolean syncResult = false;
170 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
171 GetResponseCallbackListener listener = new GetResponseCallbackListener(
172 lockObject, response);
175 Map<String, String> queryParams = new HashMap<>();
176 remoteResource.get(queryParams, listener);
179 lockObject.await(10, TimeUnit.SECONDS);
180 } catch (InterruptedException e) {
184 } catch (InvalidArgsException e) {
186 } catch (SimulatorException e) {
190 assertTrue(syncResult);
191 assertNotNull(response.get());
192 assertEquals(remoteResource.getId(), response.get().uid());
195 public void testGet_P03() {
196 CountDownLatch lockObject = new CountDownLatch(1);
197 boolean syncResult = false;
198 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
199 GetResponseCallbackListener listener = new GetResponseCallbackListener(
200 lockObject, response);
203 remoteResource.get(remoteResource.getResourceInterfaces().get(0),
207 lockObject.await(10, TimeUnit.SECONDS);
208 } catch (InterruptedException e) {
212 } catch (InvalidArgsException e) {
214 } catch (SimulatorException e) {
218 assertTrue(syncResult);
219 assertNotNull(response.get());
220 assertEquals(remoteResource.getId(), response.get().uid());
223 public void testGet_P04() {
224 CountDownLatch lockObject = new CountDownLatch(1);
225 boolean syncResult = false;
226 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
227 GetResponseCallbackListener listener = new GetResponseCallbackListener(
228 lockObject, response);
231 Map<String, String> queryParams = new HashMap<>();
232 remoteResource.get(remoteResource.getResourceInterfaces().get(0),
233 queryParams, listener);
236 lockObject.await(10, TimeUnit.SECONDS);
237 } catch (InterruptedException e) {
241 } catch (InvalidArgsException e) {
243 } catch (SimulatorException e) {
247 assertTrue(syncResult);
248 assertNotNull(response.get());
249 assertEquals(remoteResource.getId(), response.get().uid());
252 public void testGet_N01() {
253 ExceptionType exType = ExceptionType.UNKNOWN;
256 remoteResource.get(null, null);
257 } catch (InvalidArgsException e) {
258 exType = ExceptionType.INVALID_ARGS;
259 } catch (SimulatorException e) {
260 exType = ExceptionType.SIMULATOR;
263 assertTrue(exType == ExceptionType.INVALID_ARGS);
266 public void testGet_N02() {
267 ExceptionType exType = ExceptionType.UNKNOWN;
270 remoteResource.get(remoteResource.getResourceInterfaces().get(0),
272 } catch (InvalidArgsException e) {
273 exType = ExceptionType.INVALID_ARGS;
274 } catch (SimulatorException e) {
275 exType = ExceptionType.SIMULATOR;
278 assertTrue(exType == ExceptionType.INVALID_ARGS);
281 public void testGet_N03() {
282 ExceptionType exType = ExceptionType.UNKNOWN;
285 Map<String, String> queryParams = new HashMap<>();
286 remoteResource.get(null, queryParams,
287 new SimulatorRemoteResource.GetResponseListener() {
289 public void onGetResponse(String uid,
290 SimulatorResult result,
291 SimulatorResourceModel resourceModel) {
294 } catch (InvalidArgsException e) {
295 exType = ExceptionType.INVALID_ARGS;
296 } catch (SimulatorException e) {
297 exType = ExceptionType.SIMULATOR;
300 assertTrue(exType == ExceptionType.INVALID_ARGS);
303 public void testPut_P01() {
304 CountDownLatch lockObject = new CountDownLatch(1);
305 boolean syncResult = false;
306 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
307 PutResponseCallbackListener listener = new PutResponseCallbackListener(
308 lockObject, response);
311 SimulatorResourceModel resModel = singleResource.getResourceModel();
312 remoteResource.put(null, resModel, listener);
315 lockObject.await(10, TimeUnit.SECONDS);
316 } catch (InterruptedException e) {
320 } catch (InvalidArgsException e) {
322 } catch (SimulatorException e) {
326 assertTrue(syncResult);
327 assertNotNull(response.get());
328 assertNotNull(response.get().resourceModel());
329 assertEquals(remoteResource.getId(), response.get().uid());
332 public void testPut_P02() {
333 CountDownLatch lockObject = new CountDownLatch(1);
334 boolean syncResult = false;
335 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
336 PutResponseCallbackListener listener = new PutResponseCallbackListener(
337 lockObject, response);
340 SimulatorResourceModel resModel = singleResource.getResourceModel();
341 Map<String, String> queryParams = new HashMap<>();
342 remoteResource.put(queryParams, resModel, listener);
345 lockObject.await(10, TimeUnit.SECONDS);
346 } catch (InterruptedException e) {
350 } catch (InvalidArgsException e) {
352 } catch (SimulatorException e) {
356 assertTrue(syncResult);
357 assertNotNull(response.get());
358 assertNotNull(response.get().resourceModel());
359 assertEquals(remoteResource.getId(), response.get().uid());
362 public void testPut_P03() {
363 CountDownLatch lockObject = new CountDownLatch(1);
364 boolean syncResult = false;
365 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
366 PutResponseCallbackListener listener = new PutResponseCallbackListener(
367 lockObject, response);
370 SimulatorResourceModel resModel = singleResource.getResourceModel();
371 remoteResource.put(remoteResource.getResourceInterfaces().get(0),
372 null, resModel, listener);
375 lockObject.await(10, TimeUnit.SECONDS);
376 } catch (InterruptedException e) {
380 } catch (InvalidArgsException e) {
382 } catch (SimulatorException e) {
386 assertTrue(syncResult);
387 assertNotNull(response.get());
388 assertNotNull(response.get().resourceModel());
389 assertEquals(remoteResource.getId(), response.get().uid());
392 public void testPut_P05() {
393 CountDownLatch lockObject = new CountDownLatch(1);
394 boolean syncResult = false;
395 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
396 PutResponseCallbackListener listener = new PutResponseCallbackListener(
397 lockObject, response);
400 SimulatorResourceModel resModel = singleResource.getResourceModel();
401 Map<String, String> queryParams = new HashMap<>();
402 remoteResource.put(remoteResource.getResourceInterfaces().get(0),
403 queryParams, resModel, listener);
406 lockObject.await(10, TimeUnit.SECONDS);
407 } catch (InterruptedException e) {
411 } catch (InvalidArgsException e) {
413 } catch (SimulatorException e) {
417 assertTrue(syncResult);
418 assertNotNull(response.get());
419 assertNotNull(response.get().resourceModel());
420 assertEquals(remoteResource.getId(), response.get().uid());
423 public void testPut_P04() {
424 CountDownLatch lockObject = new CountDownLatch(1);
425 boolean syncResult = false;
426 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
427 PutResponseCallbackListener listener = new PutResponseCallbackListener(
428 lockObject, response);
431 SimulatorResourceModel resModel = singleResource.getResourceModel();
432 Map<String, String> queryParams = new HashMap<>();
433 remoteResource.put(queryParams, null, listener);
436 lockObject.await(10, TimeUnit.SECONDS);
437 } catch (InterruptedException e) {
441 } catch (InvalidArgsException e) {
443 } catch (SimulatorException e) {
447 assertTrue(syncResult);
448 assertNotNull(response.get());
449 assertNotNull(response.get().resourceModel());
450 assertEquals(remoteResource.getId(), response.get().uid());
453 public void testPut_N01() {
454 ExceptionType exType = ExceptionType.UNKNOWN;
457 SimulatorResourceModel resModel = singleResource.getResourceModel();
458 remoteResource.put(null, resModel, null);
459 } catch (InvalidArgsException e) {
460 exType = ExceptionType.INVALID_ARGS;
461 } catch (SimulatorException e) {
462 exType = ExceptionType.SIMULATOR;
465 assertTrue(exType == ExceptionType.INVALID_ARGS);
468 public void testPut_N02() {
469 ExceptionType exType = ExceptionType.UNKNOWN;
472 SimulatorResourceModel resModel = singleResource.getResourceModel();
473 remoteResource.put(remoteResource.getResourceInterfaces().get(0),
474 null, resModel, null);
475 } catch (InvalidArgsException e) {
476 exType = ExceptionType.INVALID_ARGS;
477 } catch (SimulatorException e) {
478 exType = ExceptionType.SIMULATOR;
481 assertTrue(exType == ExceptionType.INVALID_ARGS);
484 public void testPut_N03() {
485 ExceptionType exType = ExceptionType.UNKNOWN;
488 SimulatorResourceModel resModel = singleResource.getResourceModel();
489 Map<String, String> queryParams = new HashMap<>();
490 remoteResource.put(null, queryParams, resModel,
491 new SimulatorRemoteResource.PutResponseListener() {
493 public void onPutResponse(String uid,
494 SimulatorResult result,
495 SimulatorResourceModel resourceModel) {
498 } catch (InvalidArgsException e) {
499 exType = ExceptionType.INVALID_ARGS;
500 } catch (SimulatorException e) {
501 exType = ExceptionType.SIMULATOR;
504 assertTrue(exType == ExceptionType.INVALID_ARGS);
507 public void testPost_P01() {
508 CountDownLatch lockObject = new CountDownLatch(1);
509 boolean syncResult = false;
510 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
511 PostResponseCallbackListener listener = new PostResponseCallbackListener(
512 lockObject, response);
515 SimulatorResourceModel resModel = singleResource.getResourceModel();
516 remoteResource.post(null, resModel, listener);
519 lockObject.await(10, TimeUnit.SECONDS);
520 } catch (InterruptedException e) {
524 } catch (InvalidArgsException e) {
526 } catch (SimulatorException e) {
530 assertTrue(syncResult);
531 assertNotNull(response.get());
532 assertNotNull(response.get().resourceModel());
533 assertEquals(remoteResource.getId(), response.get().uid());
536 public void testPost_P02() {
537 CountDownLatch lockObject = new CountDownLatch(1);
538 boolean syncResult = false;
539 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
540 PostResponseCallbackListener listener = new PostResponseCallbackListener(
541 lockObject, response);
544 SimulatorResourceModel resModel = singleResource.getResourceModel();
545 Map<String, String> queryParams = new HashMap<>();
546 remoteResource.post(queryParams, resModel, listener);
549 lockObject.await(10, TimeUnit.SECONDS);
550 } catch (InterruptedException e) {
554 } catch (InvalidArgsException e) {
556 } catch (SimulatorException e) {
560 assertTrue(syncResult);
561 assertNotNull(response.get());
562 assertNotNull(response.get().resourceModel());
563 assertEquals(remoteResource.getId(), response.get().uid());
566 public void testPost_P03() {
567 CountDownLatch lockObject = new CountDownLatch(1);
568 boolean syncResult = false;
569 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
570 PostResponseCallbackListener listener = new PostResponseCallbackListener(
571 lockObject, response);
574 SimulatorResourceModel resModel = singleResource.getResourceModel();
575 remoteResource.post(remoteResource.getResourceInterfaces().get(0),
576 null, resModel, listener);
579 lockObject.await(10, TimeUnit.SECONDS);
580 } catch (InterruptedException e) {
584 } catch (InvalidArgsException e) {
586 } catch (SimulatorException e) {
590 assertTrue(syncResult);
591 assertNotNull(response.get());
592 assertNotNull(response.get().resourceModel());
593 assertEquals(remoteResource.getId(), response.get().uid());
596 public void testPost_P04() {
597 CountDownLatch lockObject = new CountDownLatch(1);
598 boolean syncResult = false;
599 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
600 PostResponseCallbackListener listener = new PostResponseCallbackListener(
601 lockObject, response);
604 SimulatorResourceModel resModel = singleResource.getResourceModel();
605 Map<String, String> queryParams = new HashMap<>();
606 remoteResource.post(remoteResource.getResourceInterfaces().get(0),
607 queryParams, resModel, listener);
610 lockObject.await(10, TimeUnit.SECONDS);
611 } catch (InterruptedException e) {
615 } catch (InvalidArgsException e) {
617 } catch (SimulatorException e) {
621 assertTrue(syncResult);
622 assertNotNull(response.get());
623 assertNotNull(response.get().resourceModel());
624 assertEquals(remoteResource.getId(), response.get().uid());
627 public void testPost_P05() {
628 CountDownLatch lockObject = new CountDownLatch(1);
629 boolean syncResult = false;
630 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
631 PostResponseCallbackListener listener = new PostResponseCallbackListener(
632 lockObject, response);
635 SimulatorResourceModel resModel = singleResource.getResourceModel();
636 Map<String, String> queryParams = new HashMap<>();
637 remoteResource.post(queryParams, null, listener);
640 lockObject.await(10, TimeUnit.SECONDS);
641 } catch (InterruptedException e) {
645 } catch (InvalidArgsException e) {
647 } catch (SimulatorException e) {
651 assertTrue(syncResult);
652 assertNotNull(response.get());
653 assertNotNull(response.get().resourceModel());
654 assertEquals(remoteResource.getId(), response.get().uid());
657 public void testPost_N01() {
658 ExceptionType exType = ExceptionType.UNKNOWN;
661 SimulatorResourceModel resModel = singleResource.getResourceModel();
662 remoteResource.post(null, resModel, null);
663 } catch (InvalidArgsException e) {
664 exType = ExceptionType.INVALID_ARGS;
665 } catch (SimulatorException e) {
666 exType = ExceptionType.SIMULATOR;
669 assertTrue(exType == ExceptionType.INVALID_ARGS);
672 public void testPost_N02() {
673 ExceptionType exType = ExceptionType.UNKNOWN;
676 SimulatorResourceModel resModel = singleResource.getResourceModel();
677 remoteResource.post(remoteResource.getResourceInterfaces().get(0),
678 null, resModel, null);
679 } catch (InvalidArgsException e) {
680 exType = ExceptionType.INVALID_ARGS;
681 } catch (SimulatorException e) {
682 exType = ExceptionType.SIMULATOR;
685 assertTrue(exType == ExceptionType.INVALID_ARGS);
688 public void testPost_N03() {
689 ExceptionType exType = ExceptionType.UNKNOWN;
692 SimulatorResourceModel resModel = singleResource.getResourceModel();
693 Map<String, String> queryParams = new HashMap<>();
694 remoteResource.post(null, queryParams, resModel,
695 new SimulatorRemoteResource.PostResponseListener() {
697 public void onPostResponse(String uid,
698 SimulatorResult result,
699 SimulatorResourceModel resourceModel) {
702 } catch (InvalidArgsException e) {
703 exType = ExceptionType.INVALID_ARGS;
704 } catch (SimulatorException e) {
705 exType = ExceptionType.SIMULATOR;
708 assertTrue(exType == ExceptionType.INVALID_ARGS);
711 public void testStartObserve_P01() {
712 CountDownLatch lockObject = new CountDownLatch(1);
713 boolean syncResult = false;
714 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
715 ObserveNotificationCallbackListener listener = new ObserveNotificationCallbackListener(
716 lockObject, response);
719 Map<String, String> queryParams = new HashMap<>();
720 remoteResource.startObserve(queryParams, listener);
721 singleResource.addAttribute(new SimulatorResourceAttribute(
722 "boolean", new AttributeValue(true), null));
723 singleResource.removeAttribute("boolean");
726 lockObject.await(10, TimeUnit.SECONDS);
727 } catch (InterruptedException e) {
730 remoteResource.stopObserve();
732 } catch (InvalidArgsException e) {
734 } catch (SimulatorException e) {
738 assertTrue(syncResult);
739 assertNotNull(response.get());
740 assertNotNull(response.get().resourceModel());
741 assertEquals(remoteResource.getId(), response.get().uid());
744 public void testStartObserve_P02() {
745 CountDownLatch lockObject = new CountDownLatch(1);
746 boolean syncResult = false;
747 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
748 ObserveNotificationCallbackListener listener = new ObserveNotificationCallbackListener(
749 lockObject, response);
752 remoteResource.startObserve(null, listener);
753 singleResource.addAttribute(new SimulatorResourceAttribute(
754 "boolean", new AttributeValue(true), null));
755 singleResource.removeAttribute("boolean");
758 lockObject.await(10, TimeUnit.SECONDS);
759 } catch (InterruptedException e) {
762 remoteResource.stopObserve();
764 } catch (InvalidArgsException e) {
766 } catch (SimulatorException e) {
770 assertTrue(syncResult);
771 assertNotNull(response.get());
772 assertNotNull(response.get().resourceModel());
773 assertEquals(remoteResource.getId(), response.get().uid());
776 public void testStartObserve_N01() {
777 ExceptionType exType = ExceptionType.UNKNOWN;
780 Map<String, String> queryParams = new HashMap<>();
781 remoteResource.startObserve(queryParams, null);
783 } catch (InvalidArgsException e) {
784 exType = ExceptionType.INVALID_ARGS;
785 } catch (SimulatorException e) {
786 exType = ExceptionType.SIMULATOR;
789 assertTrue(exType == ExceptionType.INVALID_ARGS);
792 public void testStopObserve_P01() {
793 CountDownLatch lockObject = new CountDownLatch(1);
794 boolean syncResult = false;
795 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
796 ObserveNotificationCallbackListener listener = new ObserveNotificationCallbackListener(
797 lockObject, response);
800 Map<String, String> queryParams = new HashMap<>();
801 remoteResource.startObserve(queryParams, listener);
804 lockObject.await(10, TimeUnit.SECONDS);
805 } catch (InterruptedException e) {
809 remoteResource.stopObserve();
810 singleResource.addAttribute(new SimulatorResourceAttribute(
811 "boolean", new AttributeValue(true), null));
812 singleResource.removeAttribute("boolean");
815 lockObject.await(10, TimeUnit.SECONDS);
816 } catch (InterruptedException e) {
820 } catch (InvalidArgsException e) {
822 } catch (SimulatorException e) {
826 assertTrue(syncResult);
827 assertNull(response.get());
830 public void testSetConfigInfo_P01() {
831 boolean syncResult = false;
833 remoteResource.setConfigInfo(SINGLE_RES_RAML);
835 } catch (InvalidArgsException e) {
837 } catch (SimulatorException e) {
841 assertTrue(syncResult);
844 public void testSetConfigInfo_N01() {
845 ExceptionType exType = ExceptionType.UNKNOWN;
848 remoteResource.setConfigInfo("");
849 } catch (InvalidArgsException e) {
850 exType = ExceptionType.INVALID_ARGS;
851 } catch (SimulatorException e) {
852 exType = ExceptionType.SIMULATOR;
855 assertTrue(exType == ExceptionType.INVALID_ARGS);
858 public void testSetConfigInfo_N02() {
859 ExceptionType exType = ExceptionType.UNKNOWN;
862 remoteResource.setConfigInfo(null);
863 } catch (InvalidArgsException e) {
864 exType = ExceptionType.INVALID_ARGS;
865 } catch (SimulatorException e) {
866 exType = ExceptionType.SIMULATOR;
869 assertTrue(exType == ExceptionType.INVALID_ARGS);
872 public void testStartVerification_P01() {
873 CountDownLatch lockObject = new CountDownLatch(1);
874 boolean syncResult = false;
875 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
876 VerificationCallbackListener listener = new VerificationCallbackListener(
877 lockObject, response);
880 remoteResource.setConfigInfo(SINGLE_RES_RAML);
881 remoteResource.startVerification(
882 SimulatorRemoteResource.VerificationType.GET, listener);
885 lockObject.await(10, TimeUnit.SECONDS);
886 } catch (InterruptedException e) {
890 } catch (InvalidArgsException e) {
892 } catch (SimulatorException e) {
896 assertTrue(syncResult);
897 assertNotNull(response.get());
898 assertEquals(remoteResource.getId(), response.get().uid());
901 public void testStartVerification_P02() {
902 CountDownLatch lockObject = new CountDownLatch(1);
903 boolean syncResult = false;
904 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
905 VerificationCallbackListener listener = new VerificationCallbackListener(
906 lockObject, response);
909 remoteResource.setConfigInfo(SINGLE_RES_RAML);
910 remoteResource.startVerification(
911 SimulatorRemoteResource.VerificationType.PUT, listener);
914 lockObject.await(10, TimeUnit.SECONDS);
915 } catch (InterruptedException e) {
919 } catch (InvalidArgsException e) {
921 } catch (SimulatorException e) {
925 assertTrue(syncResult);
926 assertNotNull(response.get());
927 assertEquals(remoteResource.getId(), response.get().uid());
930 public void testStartVerification_P03() {
931 CountDownLatch lockObject = new CountDownLatch(1);
932 boolean syncResult = false;
933 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
934 VerificationCallbackListener listener = new VerificationCallbackListener(
935 lockObject, response);
938 remoteResource.setConfigInfo(SINGLE_RES_RAML);
939 remoteResource.startVerification(
940 SimulatorRemoteResource.VerificationType.POST, listener);
943 lockObject.await(10, TimeUnit.SECONDS);
944 } catch (InterruptedException e) {
948 } catch (InvalidArgsException e) {
950 } catch (SimulatorException e) {
954 assertTrue(syncResult);
955 assertNotNull(response.get());
956 assertEquals(remoteResource.getId(), response.get().uid());
959 public void testStartVerification_N01() {
960 ExceptionType exType = ExceptionType.UNKNOWN;
963 remoteResource.setConfigInfo(SINGLE_RES_RAML);
964 remoteResource.startVerification(
965 SimulatorRemoteResource.VerificationType.GET, null);
966 } catch (InvalidArgsException e) {
967 exType = ExceptionType.INVALID_ARGS;
968 } catch (SimulatorException e) {
969 exType = ExceptionType.SIMULATOR;
972 assertTrue(exType == ExceptionType.INVALID_ARGS);
975 public void testStopVerification_N01() {
976 CountDownLatch lockObject = new CountDownLatch(1);
977 boolean syncResult = false;
978 ObjectHolder<ResponseDetails> response = new ObjectHolder<>();
979 VerificationCallbackListener listener = new VerificationCallbackListener(
980 lockObject, response);
983 remoteResource.setConfigInfo(SINGLE_RES_RAML);
984 int id = remoteResource.startVerification(
985 SimulatorRemoteResource.VerificationType.POST, listener);
986 remoteResource.stopVerification(id);
988 } catch (InvalidArgsException e) {
990 } catch (SimulatorException e) {
994 assertTrue(syncResult);
998 class ResponseDetails {
999 private String mUid = null;
1000 private SimulatorResourceModel mResModel = null;
1001 private SimulatorResult mResult = SimulatorResult.SIMULATOR_ERROR;
1003 ResponseDetails(String uid, SimulatorResult result,
1004 SimulatorResourceModel resModel) {
1006 mResModel = resModel;
1014 SimulatorResourceModel resourceModel() {
1018 SimulatorResult errorCode() {
1023 class GetResponseCallbackListener implements
1024 SimulatorRemoteResource.GetResponseListener {
1025 private CountDownLatch mLockObject;
1026 private ObjectHolder<ResponseDetails> mResponse;
1028 public GetResponseCallbackListener(CountDownLatch lockObject,
1029 ObjectHolder<ResponseDetails> response) {
1030 mLockObject = lockObject;
1031 mResponse = response;
1035 public void onGetResponse(String uid, SimulatorResult result,
1036 SimulatorResourceModel resourceModel) {
1037 mResponse.set(new ResponseDetails(uid, result, resourceModel));
1038 mLockObject.countDown();
1042 class PutResponseCallbackListener implements
1043 SimulatorRemoteResource.PutResponseListener {
1044 private CountDownLatch mLockObject;
1045 private ObjectHolder<ResponseDetails> mResponse;
1047 public PutResponseCallbackListener(CountDownLatch lockObject,
1048 ObjectHolder<ResponseDetails> response) {
1049 mLockObject = lockObject;
1050 mResponse = response;
1054 public void onPutResponse(String uid, SimulatorResult result,
1055 SimulatorResourceModel resourceModel) {
1056 mResponse.set(new ResponseDetails(uid, result, resourceModel));
1057 mLockObject.countDown();
1061 class PostResponseCallbackListener implements
1062 SimulatorRemoteResource.PostResponseListener {
1063 private CountDownLatch mLockObject;
1064 private ObjectHolder<ResponseDetails> mResponse;
1066 public PostResponseCallbackListener(CountDownLatch lockObject,
1067 ObjectHolder<ResponseDetails> response) {
1068 mLockObject = lockObject;
1069 mResponse = response;
1073 public void onPostResponse(String uid, SimulatorResult result,
1074 SimulatorResourceModel resourceModel) {
1075 mResponse.set(new ResponseDetails(uid, result, resourceModel));
1076 mLockObject.countDown();
1080 class ObserveNotificationCallbackListener implements
1081 SimulatorRemoteResource.ObserveNotificationListener {
1082 private CountDownLatch mLockObject;
1083 private ObjectHolder<ResponseDetails> mResponse;
1085 public ObserveNotificationCallbackListener(CountDownLatch lockObject,
1086 ObjectHolder<ResponseDetails> response) {
1087 mLockObject = lockObject;
1088 mResponse = response;
1092 public void onObserveNotification(String uid,
1093 SimulatorResourceModel resourceModel, int sequenceNumber) {
1094 mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
1096 mLockObject.countDown();
1100 class VerificationCallbackListener implements
1101 SimulatorRemoteResource.VerificationListener {
1102 private CountDownLatch mLockObject;
1103 private ObjectHolder<ResponseDetails> mResponse;
1105 public VerificationCallbackListener(CountDownLatch lockObject,
1106 ObjectHolder<ResponseDetails> response) {
1107 mLockObject = lockObject;
1108 mResponse = response;
1112 public void onVerificationStarted(String uid, int id) {
1113 mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
1115 mLockObject.countDown();
1119 public void onVerificationAborted(String uid, int id) {
1120 mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
1122 mLockObject.countDown();
1126 public void onVerificationCompleted(String uid, int id) {
1127 mResponse.set(new ResponseDetails(uid, SimulatorResult.SIMULATOR_OK,
1129 mLockObject.countDown();
1133 class FindResourceCallbackListener implements FindResourceListener {
1134 private CountDownLatch mLockObject;
1135 private ObjectHolder<SimulatorRemoteResource> mResourceHolder;
1137 public FindResourceCallbackListener(CountDownLatch lockObject,
1138 ObjectHolder<SimulatorRemoteResource> resourceHolder) {
1139 mLockObject = lockObject;
1140 mResourceHolder = resourceHolder;
1144 public void onResourceFound(SimulatorRemoteResource resource) {
1145 mResourceHolder.set(resource);
1146 mLockObject.countDown();