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/cyad/helpers.cpp
18 * @author Aleksander Zdyb <a.zdyb@samsung.com>
20 * @brief Helper functions, matchers and operators
26 #include <cynara-admin-types.h>
30 bool operator==(const cynara_admin_policy &lhs, const cynara_admin_policy &rhs) {
31 auto strEq = [] (const char *lhs, const char *rhs) -> bool {
32 if (lhs != nullptr && rhs != nullptr)
33 return strcmp(lhs, rhs) == 0;
38 return lhs.result == rhs.result
39 && strEq(lhs.bucket, rhs.bucket)
40 && strEq(lhs.client, rhs.client)
41 && strEq(lhs.user, rhs.user)
42 && strEq(lhs.privilege, rhs.privilege)
43 && strEq(lhs.result_extra, rhs.result_extra);
46 bool operator!=(const cynara_admin_policy &lhs, const cynara_admin_policy &rhs) {
54 void freeAdminPolicyMembers(cynara_admin_policy *admin_policy) {
55 free(admin_policy->bucket);
56 free(admin_policy->client);
57 free(admin_policy->user);
58 free(admin_policy->privilege);
59 free(admin_policy->result_extra);
62 } /* namespace Helpers */
64 } /* namespace Cynara */