2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 * @file test/common/protocols/admin/admincheckrequest.cpp
18 * @author Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
20 * @brief Tests for Cynara::AdminCheckRequest usage in Cynara::ProtocolAdmin
23 #include <gtest/gtest.h>
25 #include <protocol/ProtocolAdmin.h>
26 #include <request/AdminCheckRequest.h>
28 #include <RequestTestHelper.h>
29 #include <TestDataCollection.h>
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());
40 static const bool RECURSIVE = true;
41 static const bool NON_RECURSIVE = false;
43 } /* anonymous namespace */
45 using namespace Cynara;
46 using namespace RequestTestHelper;
47 using namespace TestDataCollection;
49 /* *** compare by objects test cases *** */
51 TEST(ProtocolAdmin, AdminCheckRequest01) {
52 auto request = std::make_shared<AdminCheckRequest>(Keys::k_nun, Buckets::empty, RECURSIVE,
54 auto protocol = std::make_shared<ProtocolAdmin>();
55 testRequest(request, protocol);
58 TEST(ProtocolAdmin, AdminCheckRequest02) {
59 auto request = std::make_shared<AdminCheckRequest>(Keys::k_cup, Buckets::not_empty, RECURSIVE,
61 auto protocol = std::make_shared<ProtocolAdmin>();
62 testRequest(request, protocol);
65 TEST(ProtocolAdmin, AdminCheckRequest03) {
66 auto request = std::make_shared<AdminCheckRequest>(Keys::k_www, Buckets::empty, NON_RECURSIVE,
68 auto protocol = std::make_shared<ProtocolAdmin>();
69 testRequest(request, protocol);
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);
79 TEST(ProtocolAdmin, AdminCheckRequest05) {
80 auto request = std::make_shared<AdminCheckRequest>(Keys::k_aaa, Buckets::empty, RECURSIVE,
82 auto protocol = std::make_shared<ProtocolAdmin>();
83 testRequest(request, protocol);
86 TEST(ProtocolAdmin, AdminCheckRequest06) {
87 auto request = std::make_shared<AdminCheckRequest>(Keys::k_wua, Buckets::not_empty, RECURSIVE,
89 auto protocol = std::make_shared<ProtocolAdmin>();
90 testRequest(request, protocol);
93 TEST(ProtocolAdmin, AdminCheckRequest07) {
94 auto request = std::make_shared<AdminCheckRequest>(Keys::k_nua, Buckets::empty, NON_RECURSIVE,
96 auto protocol = std::make_shared<ProtocolAdmin>();
97 testRequest(request, protocol);
100 /* *** compare by serialized data test cases *** */
102 TEST(ProtocolAdmin, AdminCheckRequestBinary01) {
103 auto request = std::make_shared<AdminCheckRequest>(Keys::k_nun, Buckets::empty, RECURSIVE,
105 auto protocol = std::make_shared<ProtocolAdmin>();
106 binaryTestRequest(request, protocol);
109 TEST(ProtocolAdmin, AdminCheckRequestBinary02) {
110 auto request = std::make_shared<AdminCheckRequest>(Keys::k_cup, Buckets::not_empty, RECURSIVE,
112 auto protocol = std::make_shared<ProtocolAdmin>();
113 binaryTestRequest(request, protocol);
116 TEST(ProtocolAdmin, AdminCheckRequestBinary03) {
117 auto request = std::make_shared<AdminCheckRequest>(Keys::k_www, Buckets::empty, NON_RECURSIVE,
119 auto protocol = std::make_shared<ProtocolAdmin>();
120 binaryTestRequest(request, protocol);
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);
130 TEST(ProtocolAdmin, AdminCheckRequestBinary05) {
131 auto request = std::make_shared<AdminCheckRequest>(Keys::k_aaa, Buckets::empty, RECURSIVE,
133 auto protocol = std::make_shared<ProtocolAdmin>();
134 binaryTestRequest(request, protocol);
137 TEST(ProtocolAdmin, AdminCheckRequestBinary06) {
138 auto request = std::make_shared<AdminCheckRequest>(Keys::k_wua, Buckets::not_empty, RECURSIVE,
140 auto protocol = std::make_shared<ProtocolAdmin>();
141 binaryTestRequest(request, protocol);
144 TEST(ProtocolAdmin, AdminCheckRequestBinary07) {
145 auto request = std::make_shared<AdminCheckRequest>(Keys::k_nua, Buckets::empty, NON_RECURSIVE,
147 auto protocol = std::make_shared<ProtocolAdmin>();
148 binaryTestRequest(request, protocol);