1 // Copyright 2015 Intel Mobile Communications GmbH All Rights Reserved.
3 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
17 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
19 #include "gtest/gtest.h"
21 #include "srmutility.h"
22 #include "oic_string.h"
24 #define TEST_FILL_CHARACTER ((int)0xfb)
26 //ParseRestQuery Tests
27 TEST(ParseRestQueryTest, ParseRestQueryEmpty)
29 unsigned char query[] = "";
30 OicParseQueryIter_t parseIter = OicParseQueryIter_t();
31 ParseQueryIterInit(query, &parseIter);
32 EXPECT_EQ(NULL, GetNextQuery(&parseIter));
36 TEST(ParseRestQueryTest, ParseSingleRestQuery)
38 char attr[10], val[10];
39 unsigned char query[] = "owned=false";
41 OicParseQueryIter_t parseIter = OicParseQueryIter_t();
42 ParseQueryIterInit(query, &parseIter);
43 EXPECT_NE((OicParseQueryIter_t *)NULL, GetNextQuery(&parseIter));
45 OICStrcpyPartial(attr, sizeof(attr), (char *)parseIter.attrPos, parseIter.attrLen);
46 OICStrcpyPartial(val, sizeof(val), (char *)parseIter.valPos, parseIter.valLen);
47 printf("\nAttribute: %s value: %s\n\n", attr, val);
50 TEST(ParseRestQueryTest, ParseRestMultipleQuery)
52 char attr[10], val[10];
53 unsigned char query[] = "oxm=0;owned=true;owner=owner1";
55 OicParseQueryIter_t parseIter = OicParseQueryIter_t();
56 ParseQueryIterInit(query, &parseIter);
58 while(GetNextQuery(&parseIter))
60 EXPECT_NE(static_cast<size_t>(0), parseIter.pi.segment_length);
62 OICStrcpyPartial(attr, sizeof(attr), (char *)parseIter.attrPos, parseIter.attrLen);
63 OICStrcpyPartial(val, sizeof(val), (char *)parseIter.valPos, parseIter.valLen);
64 printf("Attribute: %s value: %s\n", attr, val);
70 TEST(ConvertStrToUuidTest, LowCase)
73 memset(&uuid, TEST_FILL_CHARACTER, sizeof(uuid));
75 const char *uuidString1 = "ca5bfba0-c0f1-4906-b995-f139d626dfbd";
76 EXPECT_EQ(OC_STACK_OK, ConvertStrToUuid(uuidString1, &uuid));
78 EXPECT_EQ((uint8_t)0xca, uuid.id[0]);
79 EXPECT_EQ((uint8_t)0x5b, uuid.id[1]);
80 EXPECT_EQ((uint8_t)0xfb, uuid.id[2]);
81 EXPECT_EQ((uint8_t)0xa0, uuid.id[3]);
82 EXPECT_EQ((uint8_t)0xc0, uuid.id[4]);
83 EXPECT_EQ((uint8_t)0xf1, uuid.id[5]);
84 EXPECT_EQ((uint8_t)0x49, uuid.id[6]);
85 EXPECT_EQ((uint8_t)0x06, uuid.id[7]);
86 EXPECT_EQ((uint8_t)0xb9, uuid.id[8]);
87 EXPECT_EQ((uint8_t)0x95, uuid.id[9]);
88 EXPECT_EQ((uint8_t)0xf1, uuid.id[10]);
89 EXPECT_EQ((uint8_t)0x39, uuid.id[11]);
90 EXPECT_EQ((uint8_t)0xd6, uuid.id[12]);
91 EXPECT_EQ((uint8_t)0x26, uuid.id[13]);
92 EXPECT_EQ((uint8_t)0xdf, uuid.id[14]);
93 EXPECT_EQ((uint8_t)0xbd, uuid.id[15]);
96 TEST(ConvertStrToUuidTest, UpCase)
99 memset(&uuid, TEST_FILL_CHARACTER, sizeof(uuid));
101 const char *uuidString1 = "2320EF4B-D714-4936-93E5-846E1B5DA202";
102 EXPECT_EQ(OC_STACK_OK, ConvertStrToUuid(uuidString1, &uuid));
104 EXPECT_EQ((uint8_t)0x23, uuid.id[0]);
105 EXPECT_EQ((uint8_t)0x20, uuid.id[1]);
106 EXPECT_EQ((uint8_t)0xef, uuid.id[2]);
107 EXPECT_EQ((uint8_t)0x4b, uuid.id[3]);
108 EXPECT_EQ((uint8_t)0xd7, uuid.id[4]);
109 EXPECT_EQ((uint8_t)0x14, uuid.id[5]);
110 EXPECT_EQ((uint8_t)0x49, uuid.id[6]);
111 EXPECT_EQ((uint8_t)0x36, uuid.id[7]);
112 EXPECT_EQ((uint8_t)0x93, uuid.id[8]);
113 EXPECT_EQ((uint8_t)0xe5, uuid.id[9]);
114 EXPECT_EQ((uint8_t)0x84, uuid.id[10]);
115 EXPECT_EQ((uint8_t)0x6e, uuid.id[11]);
116 EXPECT_EQ((uint8_t)0x1b, uuid.id[12]);
117 EXPECT_EQ((uint8_t)0x5d, uuid.id[13]);
118 EXPECT_EQ((uint8_t)0xa2, uuid.id[14]);
119 EXPECT_EQ((uint8_t)0x02, uuid.id[15]);
122 TEST(ConvertStrToUuidTest, MixedCase)
125 memset(&uuid, TEST_FILL_CHARACTER, sizeof(uuid));
127 const char *uuidString1 = "6905485c-9693-4CF7-9350-4eB39022af7d";
128 EXPECT_EQ(OC_STACK_OK, ConvertStrToUuid(uuidString1, &uuid));
130 EXPECT_EQ((uint8_t)0x69, uuid.id[0]);
131 EXPECT_EQ((uint8_t)0x05, uuid.id[1]);
132 EXPECT_EQ((uint8_t)0x48, uuid.id[2]);
133 EXPECT_EQ((uint8_t)0x5c, uuid.id[3]);
134 EXPECT_EQ((uint8_t)0x96, uuid.id[4]);
135 EXPECT_EQ((uint8_t)0x93, uuid.id[5]);
136 EXPECT_EQ((uint8_t)0x4c, uuid.id[6]);
137 EXPECT_EQ((uint8_t)0xf7, uuid.id[7]);
138 EXPECT_EQ((uint8_t)0x93, uuid.id[8]);
139 EXPECT_EQ((uint8_t)0x50, uuid.id[9]);
140 EXPECT_EQ((uint8_t)0x4e, uuid.id[10]);
141 EXPECT_EQ((uint8_t)0xb3, uuid.id[11]);
142 EXPECT_EQ((uint8_t)0x90, uuid.id[12]);
143 EXPECT_EQ((uint8_t)0x22, uuid.id[13]);
144 EXPECT_EQ((uint8_t)0xaf, uuid.id[14]);
145 EXPECT_EQ((uint8_t)0x7d, uuid.id[15]);
148 TEST(ConvertStrToUuidTest, EmptyStringConversion)
151 memset(&uuid, TEST_FILL_CHARACTER, sizeof(uuid));
153 const char *uuidString1 = "";
154 EXPECT_EQ(OC_STACK_OK, ConvertStrToUuid(uuidString1, &uuid));
156 for (size_t i = 0; i < sizeof(uuid.id); i++)
158 EXPECT_EQ((uint8_t)0, uuid.id[i]);