Imported Upstream version 0.9.2
[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
23
24 //ParseRestQuery Tests
25 TEST(ParseRestQueryTest, ParseRestQueryEmpty)
26 {
27     unsigned char query[] = "";
28     OicParseQueryIter_t parseIter = {};
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 = {};
39     ParseQueryIterInit(query, &parseIter);
40     EXPECT_NE((OicParseQueryIter_t *)NULL,  GetNextQuery(&parseIter));
41
42     strncpy(attr, (char *)parseIter.attrPos, parseIter.attrLen);
43     strncpy(val, (char *)parseIter.valPos, parseIter.valLen);
44     attr[parseIter.attrLen] = '\0';
45     val[parseIter.valLen] = '\0';
46     printf("\nAttribute: %s  value: %s\n\n", attr, val);
47
48 }
49
50 TEST(ParseRestQueryTest, ParseRestMultipleQuery)
51 {
52     char attr[10], val[10];
53     unsigned char query[] = "oxm=0&owned=true&owner=owner1";
54
55     OicParseQueryIter_t parseIter = {};
56     ParseQueryIterInit(query, &parseIter);
57     printf("\n");
58     while(GetNextQuery(&parseIter))
59     {
60         EXPECT_NE(static_cast<size_t>(0),  parseIter.pi.segment_length);
61
62         strncpy(attr, (char *)parseIter.attrPos, parseIter.attrLen);
63         strncpy(val, (char *)parseIter.valPos, parseIter.valLen);
64         attr[parseIter.attrLen] = '\0';
65         val[parseIter.valLen] = '\0';
66         printf("Attribute: %s  value: %s\n", attr, val);
67
68     }
69     printf("\n");
70 }
71