Add tests for EraseRequest serialization
[platform/core/security/cynara.git] / test / common / protocols / admin / eraserequest.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/eraserequest.cpp
18  * @author      Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
19  * @version     1.0
20  * @brief       Tests for Cynara::EraseRequest usage in Cynara::ProtocolAdmin
21  */
22
23 #include <gtest/gtest.h>
24
25 #include <protocol/ProtocolAdmin.h>
26 #include <request/EraseRequest.h>
27
28 #include <RequestTestHelper.h>
29 #include <TestDataCollection.h>
30
31 namespace {
32
33 template<>
34 void compare(const Cynara::EraseRequest &req1, const Cynara::EraseRequest &req2) {
35     EXPECT_EQ(req1.startBucket(), req2.startBucket());
36     EXPECT_EQ(req1.recursive(), req2.recursive());
37     EXPECT_EQ(req1.filter(), req2.filter());
38 }
39
40 static const bool RECURSIVE = true;
41 static const bool NON_RECURSIVE = false;
42
43 } /* namespace anonymous */
44
45 using namespace Cynara;
46 using namespace RequestTestHelper;
47 using namespace TestDataCollection;
48
49 /* *** compare by objects test cases *** */
50
51 TEST(ProtocolAdmin, EraseRequest01) {
52     auto request = std::make_shared<EraseRequest>(Buckets::empty, RECURSIVE, Keys::k_nun, SN::min);
53     auto protocol = std::make_shared<ProtocolAdmin>();
54     testRequest(request, protocol);
55 }
56
57 TEST(ProtocolAdmin, EraseRequest02) {
58     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, NON_RECURSIVE, Keys::k_cup,
59                                                   SN::min_1);
60     auto protocol = std::make_shared<ProtocolAdmin>();
61     testRequest(request, protocol);
62 }
63
64 TEST(ProtocolAdmin, EraseRequest03) {
65     auto request = std::make_shared<EraseRequest>(Buckets::empty, NON_RECURSIVE, Keys::k_www,
66                                                   SN::min_2);
67     auto protocol = std::make_shared<ProtocolAdmin>();
68     testRequest(request, protocol);
69 }
70
71 TEST(ProtocolAdmin, EraseRequest04) {
72     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, RECURSIVE, Keys::k_wuw,
73                                                   SN::max);
74     auto protocol = std::make_shared<ProtocolAdmin>();
75     testRequest(request, protocol);
76 }
77
78 TEST(ProtocolAdmin, EraseRequest05) {
79     auto request = std::make_shared<EraseRequest>(Buckets::empty, RECURSIVE, Keys::k_aaa,
80                                                   SN::max_1);
81     auto protocol = std::make_shared<ProtocolAdmin>();
82     testRequest(request, protocol);
83 }
84
85 TEST(ProtocolAdmin, EraseRequest06) {
86     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, NON_RECURSIVE, Keys::k_wua,
87                                                   SN::max_2);
88     auto protocol = std::make_shared<ProtocolAdmin>();
89     testRequest(request, protocol);
90 }
91
92 TEST(ProtocolAdmin, EraseRequest07) {
93     auto request = std::make_shared<EraseRequest>(Buckets::empty, NON_RECURSIVE, Keys::k_nua,
94                                                   SN::mid);
95     auto protocol = std::make_shared<ProtocolAdmin>();
96     testRequest(request, protocol);
97 }
98
99 /* *** compare by serialized data test cases *** */
100
101 TEST(ProtocolAdmin, EraseRequestBinary01) {
102     auto request = std::make_shared<EraseRequest>(Buckets::empty, RECURSIVE, Keys::k_nun, SN::min);
103     auto protocol = std::make_shared<ProtocolAdmin>();
104     binaryTestRequest(request, protocol);
105 }
106
107 TEST(ProtocolAdmin, EraseRequestBinary02) {
108     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, NON_RECURSIVE, Keys::k_cup,
109                                                   SN::min_1);
110     auto protocol = std::make_shared<ProtocolAdmin>();
111     binaryTestRequest(request, protocol);
112 }
113
114 TEST(ProtocolAdmin, EraseRequestBinary03) {
115     auto request = std::make_shared<EraseRequest>(Buckets::empty, NON_RECURSIVE, Keys::k_www,
116                                                   SN::min_2);
117     auto protocol = std::make_shared<ProtocolAdmin>();
118     binaryTestRequest(request, protocol);
119 }
120
121 TEST(ProtocolAdmin, EraseRequestBinary04) {
122     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, RECURSIVE, Keys::k_wuw,
123                                                   SN::max);
124     auto protocol = std::make_shared<ProtocolAdmin>();
125     binaryTestRequest(request, protocol);
126 }
127
128 TEST(ProtocolAdmin, EraseRequestBinary05) {
129     auto request = std::make_shared<EraseRequest>(Buckets::empty, RECURSIVE, Keys::k_aaa,
130                                                   SN::max_1);
131     auto protocol = std::make_shared<ProtocolAdmin>();
132     binaryTestRequest(request, protocol);
133 }
134
135 TEST(ProtocolAdmin, EraseRequestBinary06) {
136     auto request = std::make_shared<EraseRequest>(Buckets::not_empty, NON_RECURSIVE, Keys::k_wua,
137                                                   SN::max_2);
138     auto protocol = std::make_shared<ProtocolAdmin>();
139     binaryTestRequest(request, protocol);
140 }
141
142 TEST(ProtocolAdmin, EraseRequestBinary07) {
143     auto request = std::make_shared<EraseRequest>(Buckets::empty, NON_RECURSIVE, Keys::k_nua,
144                                                   SN::mid);
145     auto protocol = std::make_shared<ProtocolAdmin>();
146     binaryTestRequest(request, protocol);
147 }