Merge branch 'master' into 'security-basecamp'
[platform/upstream/iotivity.git] / resource / csdk / security / unittest / srmutility.cpp
1 // Copyright 2015 Intel Mobile Communications GmbH All Rights Reserved.
2 //
3 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
4 //
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
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17 //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
18
19 #include "gtest/gtest.h"
20 #include "ocstack.h"
21 #include "srmutility.h"
22 #include "oic_string.h"
23
24 //ParseRestQuery Tests
25 TEST(ParseRestQueryTest, ParseRestQueryEmpty)
26 {
27     unsigned char query[] = "";
28     OicParseQueryIter_t parseIter = {0};
29     ParseQueryIterInit(query, &parseIter);
30     EXPECT_EQ(NULL,  GetNextQuery(&parseIter));
31 }
32
33 TEST(ParseRestQueryTest, ParseSingleRestQuery)
34 {
35     char attr[10], val[10];
36     unsigned char query[] = "owned=false";
37
38     OicParseQueryIter_t parseIter = {0};
39     ParseQueryIterInit(query, &parseIter);
40     EXPECT_NE((OicParseQueryIter_t *)NULL,  GetNextQuery(&parseIter));
41
42     OICStrcpyPartial(attr, sizeof(attr), (char *)parseIter.attrPos, parseIter.attrLen);
43     OICStrcpyPartial(val, sizeof(val), (char *)parseIter.valPos, parseIter.valLen);
44     printf("\nAttribute: %s  value: %s\n\n", attr, val);
45 }
46
47 TEST(ParseRestQueryTest, ParseRestMultipleQuery)
48 {
49     char attr[10], val[10];
50     unsigned char query[] = "oxm=0;owned=true;owner=owner1";
51
52     OicParseQueryIter_t parseIter = {0};
53     ParseQueryIterInit(query, &parseIter);
54     printf("\n");
55     while(GetNextQuery(&parseIter))
56     {
57         EXPECT_NE(static_cast<size_t>(0),  parseIter.pi.segment_length);
58
59         OICStrcpyPartial(attr, sizeof(attr), (char *)parseIter.attrPos, parseIter.attrLen);
60         OICStrcpyPartial(val, sizeof(val), (char *)parseIter.valPos, parseIter.valLen);
61         printf("Attribute: %s  value: %s\n", attr, val);
62
63     }
64     printf("\n");
65 }