Revert "Change build option - IP only"
[platform/upstream/iotivity.git] / resource / csdk / stack / test / android / stacktests.cpp
1 //******************************************************************
2 //
3 // Copyright 2014 Intel Mobile Communications GmbH All Rights Reserved.
4 //
5 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
6 //
7 // Licensed under the Apache License, Version 2.0 (the "License");
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
10 //
11 //      http://www.apache.org/licenses/LICENSE-2.0
12 //
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an "AS IS" BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
18 //
19 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
20
21
22 extern "C" {
23     #include "logger.h"
24     #include "ocstack.h"
25     #include "ocstackinternal.h"
26 }
27
28 #include <sys/types.h>
29 #include <sys/stat.h>
30 #include <errno.h>
31 #include <fcntl.h>
32 #include <unistd.h>
33 #include <stdlib.h>
34 #include <string.h>
35 //-----------------------------------------------------------------------------
36 // Includes
37 //-----------------------------------------------------------------------------
38 #include <stdio.h>
39 #include <string.h>
40
41 #include <stdint.h>
42 using namespace std;
43
44
45 //-----------------------------------------------------------------------------
46 // Private variables
47 //-----------------------------------------------------------------------------
48 static const char TAG[] = "TestHarness";
49 static OCUri SERVICE_URI = "coap://127.0.0.1:5683/";
50
51 void EXPECT_EQ(int a, int b)  {
52   if (a == b) {
53     OC_LOG(INFO, TAG, "PASS");
54   } else {
55     OC_LOG(ERROR, TAG, "**FAIL**");
56   }
57 }
58
59 void EXPECT_STREQ(const char *a, const char *b)  {
60   if (strcmp(a, b) == 0) {
61     OC_LOG(INFO, TAG, "PASS");
62   } else {
63     OC_LOG(ERROR, TAG, "**FAIL**");
64   }
65 }
66 //-----------------------------------------------------------------------------
67 // Callback functions
68 //-----------------------------------------------------------------------------
69
70 extern "C" void asyncDoResourcesCallback(OCStackResult result, OCRepresentationHandle representation) {
71     OC_LOG(INFO, TAG, "Entering asyncDoResourcesCallback");
72
73     EXPECT_EQ(OC_STACK_OK, result);
74     OCResource *resource = (OCResource *)representation;
75     OC_LOG_V(INFO, TAG, "URI = %s", resource->uri);
76     EXPECT_STREQ(SERVICE_URI, resource->uri);
77 }
78
79 //-----------------------------------------------------------------------------
80 //  Tests
81 //-----------------------------------------------------------------------------
82 void test0() {
83     EXPECT_EQ(OC_STACK_OK, OCInit(0, 5683, OC_SERVER));
84 }
85
86 void test1() {
87   EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 0, OC_SERVER));
88 }
89
90 void test2() {
91     EXPECT_EQ(OC_STACK_OK, OCInit(0, 0, OC_SERVER));
92 }
93
94 void test3() {
95     EXPECT_EQ(OC_STACK_ERROR, OCInit(0, 0, (OCMode)10));
96 }
97
98 void test4() {
99     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
100     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_SERVER));
101     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT_SERVER));
102 }
103
104 void test5() {
105     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
106     EXPECT_EQ(OC_STACK_OK, OCDoResource(OC_REST_GET, OC_EXPLICIT_DEVICE_DISCOVERY_URI, 0, 0, asyncDoResourcesCallback), NULL, 0);
107     EXPECT_EQ(OC_STACK_OK, OCUpdateResources(SERVICE_URI));
108     EXPECT_EQ(OC_STACK_OK, OCStop());
109 }
110
111 void test6() {
112     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
113     EXPECT_EQ(OC_STACK_OK, OCStop());
114     EXPECT_EQ(OC_STACK_ERROR, OCStop());
115 }
116
117 void test7() {
118     EXPECT_EQ(OC_STACK_OK, OCInit("127.0.0.1", 5683, OC_CLIENT));
119     EXPECT_EQ(OC_STACK_OK, OCDoResource(OC_REST_GET, OC_EXPLICIT_DEVICE_DISCOVERY_URI, 0, 0, asyncDoResourcesCallback), NULL, 0);
120     EXPECT_EQ(OC_STACK_INVALID_URI, OCUpdateResources(0));
121     EXPECT_EQ(OC_STACK_OK, OCStop());
122 }
123
124 void stacktests() {
125   test0();
126   test1();
127   test2();
128   test3();
129   test4();
130   test5();
131   test6();
132   test7();
133 }