Test usage of AdminCheck Req/Resp by ProtocolAdmin
[platform/core/security/cynara.git] / test / common / protocols / admin / admincheckrequest.cpp
1 /*
2  * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  *    Licensed under the Apache License, Version 2.0 (the "License");
5  *    you may not use this file except in compliance with the License.
6  *    You may obtain a copy of the License at
7  *
8  *        http://www.apache.org/licenses/LICENSE-2.0
9  *
10  *    Unless required by applicable law or agreed to in writing, software
11  *    distributed under the License is distributed on an "AS IS" BASIS,
12  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  *    See the License for the specific language governing permissions and
14  *    limitations under the License.
15  */
16 /**
17  * @file        test/common/protocols/admin/admincheckrequest.cpp
18  * @author      Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
19  * @version     1.0
20  * @brief       Tests for Cynara::AdminCheckRequest usage in Cynara::ProtocolAdmin
21  */
22
23 #include <gtest/gtest.h>
24
25 #include <protocol/ProtocolAdmin.h>
26 #include <request/AdminCheckRequest.h>
27
28 #include <RequestTestHelper.h>
29 #include <TestDataCollection.h>
30
31 namespace {
32
33 template<>
34 void compare(const Cynara::AdminCheckRequest &req1, const Cynara::AdminCheckRequest &req2) {
35     EXPECT_EQ(req1.key(), req2.key());
36     EXPECT_EQ(req1.startBucket(), req2.startBucket());
37     EXPECT_EQ(req1.recursive(), req2.recursive());
38 }
39
40 static const bool RECURSIVE = true;
41 static const bool NON_RECURSIVE = false;
42
43 } /* anonymous namespace */
44
45 using namespace Cynara;
46 using namespace RequestTestHelper;
47 using namespace TestDataCollection;
48
49 /* *** compare by objects test cases *** */
50
51 TEST(ProtocolAdmin, AdminCheckRequest01) {
52     auto request = std::make_shared<AdminCheckRequest>(Keys::k_nun, Buckets::empty, RECURSIVE,
53                                                        SN::min);
54     auto protocol = std::make_shared<ProtocolAdmin>();
55     testRequest(request, protocol);
56 }
57
58 TEST(ProtocolAdmin, AdminCheckRequest02) {
59     auto request = std::make_shared<AdminCheckRequest>(Keys::k_cup, Buckets::not_empty, RECURSIVE,
60                                                        SN::min_1);
61     auto protocol = std::make_shared<ProtocolAdmin>();
62     testRequest(request, protocol);
63 }
64
65 TEST(ProtocolAdmin, AdminCheckRequest03) {
66     auto request = std::make_shared<AdminCheckRequest>(Keys::k_www, Buckets::empty, NON_RECURSIVE,
67                                                        SN::min_2);
68     auto protocol = std::make_shared<ProtocolAdmin>();
69     testRequest(request, protocol);
70 }
71
72 TEST(ProtocolAdmin, AdminCheckRequest04) {
73     auto request = std::make_shared<AdminCheckRequest>(Keys::k_wuw, Buckets::not_empty,
74                                                        NON_RECURSIVE, SN::max);
75     auto protocol = std::make_shared<ProtocolAdmin>();
76     testRequest(request, protocol);
77 }
78
79 TEST(ProtocolAdmin, AdminCheckRequest05) {
80     auto request = std::make_shared<AdminCheckRequest>(Keys::k_aaa, Buckets::empty, RECURSIVE,
81                                                        SN::max_1);
82     auto protocol = std::make_shared<ProtocolAdmin>();
83     testRequest(request, protocol);
84 }
85
86 TEST(ProtocolAdmin, AdminCheckRequest06) {
87     auto request = std::make_shared<AdminCheckRequest>(Keys::k_wua, Buckets::not_empty, RECURSIVE,
88                                                        SN::max_2);
89     auto protocol = std::make_shared<ProtocolAdmin>();
90     testRequest(request, protocol);
91 }
92
93 TEST(ProtocolAdmin, AdminCheckRequest07) {
94     auto request = std::make_shared<AdminCheckRequest>(Keys::k_nua, Buckets::empty, NON_RECURSIVE,
95                                                        SN::mid);
96     auto protocol = std::make_shared<ProtocolAdmin>();
97     testRequest(request, protocol);
98 }
99
100 /* *** compare by serialized data test cases *** */
101
102 TEST(ProtocolAdmin, AdminCheckRequestBinary01) {
103     auto request = std::make_shared<AdminCheckRequest>(Keys::k_nun, Buckets::empty, RECURSIVE,
104                                                        SN::min);
105     auto protocol = std::make_shared<ProtocolAdmin>();
106     binaryTestRequest(request, protocol);
107 }
108
109 TEST(ProtocolAdmin, AdminCheckRequestBinary02) {
110     auto request = std::make_shared<AdminCheckRequest>(Keys::k_cup, Buckets::not_empty, RECURSIVE,
111                                                        SN::min_1);
112     auto protocol = std::make_shared<ProtocolAdmin>();
113     binaryTestRequest(request, protocol);
114 }
115
116 TEST(ProtocolAdmin, AdminCheckRequestBinary03) {
117     auto request = std::make_shared<AdminCheckRequest>(Keys::k_www, Buckets::empty, NON_RECURSIVE,
118                                                        SN::min_2);
119     auto protocol = std::make_shared<ProtocolAdmin>();
120     binaryTestRequest(request, protocol);
121 }
122
123 TEST(ProtocolAdmin, AdminCheckRequestBinary04) {
124     auto request = std::make_shared<AdminCheckRequest>(Keys::k_wuw, Buckets::not_empty,
125                                                        NON_RECURSIVE, SN::max);
126     auto protocol = std::make_shared<ProtocolAdmin>();
127     binaryTestRequest(request, protocol);
128 }
129
130 TEST(ProtocolAdmin, AdminCheckRequestBinary05) {
131     auto request = std::make_shared<AdminCheckRequest>(Keys::k_aaa, Buckets::empty, RECURSIVE,
132                                                        SN::max_1);
133     auto protocol = std::make_shared<ProtocolAdmin>();
134     binaryTestRequest(request, protocol);
135 }
136
137 TEST(ProtocolAdmin, AdminCheckRequestBinary06) {
138     auto request = std::make_shared<AdminCheckRequest>(Keys::k_wua, Buckets::not_empty, RECURSIVE,
139                                                        SN::max_2);
140     auto protocol = std::make_shared<ProtocolAdmin>();
141     binaryTestRequest(request, protocol);
142 }
143
144 TEST(ProtocolAdmin, AdminCheckRequestBinary07) {
145     auto request = std::make_shared<AdminCheckRequest>(Keys::k_nua, Buckets::empty, NON_RECURSIVE,
146                                                        SN::mid);
147     auto protocol = std::make_shared<ProtocolAdmin>();
148     binaryTestRequest(request, protocol);
149 }