Initial merge-commit of the OIC code. Should successfully do discovery for single...
[platform/upstream/iotivity.git] / csdk / stack / test / android / stacktests.cpp
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Corporation All Rights Reserved.
4 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
5
6
7 extern "C" {
8     #include "logger.h"
9     #include "ocstack.h"
10     #include "ocstackinternal.h"
11 }
12
13 #include <sys/types.h>
14 #include <sys/stat.h>
15 #include <errno.h>
16 #include <fcntl.h>
17 #include <unistd.h>
18 #include <stdlib.h>
19 #include <string.h>
20 //-----------------------------------------------------------------------------
21 // Includes
22 //-----------------------------------------------------------------------------
23 #include <stdio.h>
24 #include <string.h>
25
26 #include <stdint.h>
27 using namespace std;
28
29
30 //-----------------------------------------------------------------------------
31 // Private variables
32 //-----------------------------------------------------------------------------
33 static const char TAG[] = "TestHarness";
34 static OCUri SERVICE_URI = "coap://127.0.0.1:5683/";
35
36 void EXPECT_EQ(int a, int b)  {
37   if (a == b) {
38     OC_LOG(INFO, TAG, "PASS");
39   } else {
40     OC_LOG(ERROR, TAG, "**FAIL**");
41   }
42 }
43
44 void EXPECT_STREQ(const char *a, const char *b)  {
45   if (strcmp(a, b) == 0) {
46     OC_LOG(INFO, TAG, "PASS");
47   } else {
48     OC_LOG(ERROR, TAG, "**FAIL**");
49   }
50 }
51 //-----------------------------------------------------------------------------
52 // Callback functions
53 //-----------------------------------------------------------------------------
54
55 extern "C" void asyncDoResourcesCallback(OCStackResult result, OCRepresentationHandle representation) {
56     OC_LOG(INFO, TAG, "Entering asyncDoResourcesCallback");
57
58     EXPECT_EQ(OC_STACK_OK, result);
59     OCResource *resource = (OCResource *)representation;
60     OC_LOG_V(INFO, TAG, "URI = %s", resource->uri);
61     EXPECT_STREQ(SERVICE_URI, resource->uri);
62 }
63
64 //-----------------------------------------------------------------------------
65 //  Tests
66 //-----------------------------------------------------------------------------
67 void test0() {
68     EXPECT_EQ(OC_STACK_OK, OCInit(0, 5683, OC_SERVER));  
69 }
70
71 void test1() {
72   EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 0, OC_SERVER));  
73 }
74
75 void test2() {
76     EXPECT_EQ(OC_STACK_OK, OCInit(0, 0, OC_SERVER));
77 }
78
79 void test3() {
80     EXPECT_EQ(OC_STACK_ERROR, OCInit(0, 0, (OCMode)10));
81 }
82
83 void test4() {
84     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
85     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_SERVER));
86     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT_SERVER));
87 }
88
89 void test5() {
90     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
91     EXPECT_EQ(OC_STACK_OK, OCDoResource(OC_REST_GET, OC_EXPLICIT_DEVICE_DISCOVERY_URI, 0, 0, asyncDoResourcesCallback));
92     EXPECT_EQ(OC_STACK_OK, OCUpdateResources(SERVICE_URI));
93     EXPECT_EQ(OC_STACK_OK, OCStop());
94 }
95
96 void test6() {
97     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
98     EXPECT_EQ(OC_STACK_OK, OCStop());
99     EXPECT_EQ(OC_STACK_ERROR, OCStop());
100 }
101
102 void test7() {
103     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
104     EXPECT_EQ(OC_STACK_OK, OCDoResource(OC_REST_GET, OC_EXPLICIT_DEVICE_DISCOVERY_URI, 0, 0, asyncDoResourcesCallback));
105     EXPECT_EQ(OC_STACK_INVALID_URI, OCUpdateResources(0));
106     EXPECT_EQ(OC_STACK_OK, OCStop());
107 }
108
109 void stacktests() {
110   test0();
111   test1();
112   test2();
113   test3();
114   test4();
115   test5();
116   test6();
117   test7();
118 }