From: Lukasz Wojciechowski Date: Fri, 24 Oct 2014 17:17:24 +0000 (+0200) Subject: Expand CheckData and PoliciesContainer for easier use X-Git-Tag: security-manager_5.5_testing~171 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a8c69361fafd0593c7cdc005f7b612dcbd05d0e;p=platform%2Fcore%2Ftest%2Fsecurity-tests.git Expand CheckData and PoliciesContainer for easier use New CynaraPoliciesContainer::add allows adding policies with {client, user, privilege} tripple passed as single vector parameter. CheckData class is expanded with toAdminPolicy() method for converting ChackData object into such vector. Change-Id: I3cc34fc7801a81e6a9f4a456013653b1ef0d3323 --- diff --git a/tests/cynara-tests/common/cynara_test_admin.cpp b/tests/cynara-tests/common/cynara_test_admin.cpp index 86b5658..9bafbb7 100644 --- a/tests/cynara-tests/common/cynara_test_admin.cpp +++ b/tests/cynara-tests/common/cynara_test_admin.cpp @@ -85,6 +85,14 @@ void CynaraPoliciesContainer::add(const char *bucket, policy.result_extra = strdup(resultExtra); } +void CynaraPoliciesContainer::add(const char *bucket, + const CheckKey &checkKey, + const int result, + const char *resultExtra) +{ + add(bucket, checkKey.m_client, checkKey.m_user, checkKey.m_privilege, result, resultExtra); +} + CynaraTestAdmin::CynaraTestAdmin() : m_admin(nullptr) { diff --git a/tests/cynara-tests/common/cynara_test_admin.h b/tests/cynara-tests/common/cynara_test_admin.h index 5a7a008..5116bc3 100644 --- a/tests/cynara-tests/common/cynara_test_admin.h +++ b/tests/cynara-tests/common/cynara_test_admin.h @@ -17,6 +17,8 @@ #ifndef CYNARA_TEST_ADMIN_H #define CYNARA_TEST_ADMIN_H +#include + #include #include @@ -34,6 +36,11 @@ public: const char *privilege, const int result, const char *resultExtra); + void add(const char *bucket, + const CheckKey &checkKey, + const int result, + const char *resultExtra = nullptr); + private: friend class CynaraTestAdmin; diff --git a/tests/cynara-tests/common/cynara_test_client_async_client.cpp b/tests/cynara-tests/common/cynara_test_client_async_client.cpp index b6159c5..3201f97 100644 --- a/tests/cynara-tests/common/cynara_test_client_async_client.cpp +++ b/tests/cynara-tests/common/cynara_test_client_async_client.cpp @@ -44,6 +44,11 @@ CheckData::CheckData(const std::string &major, int minor) : CheckData(major, std { } +CheckKey CheckData::toAdminPolicy() +{ + return {m_client.c_str(), m_user.c_str(), m_privilege.c_str()}; +} + Client::Client(const StatusFunction &userFunction) : m_cynara(nullptr), m_statusMonitor(userFunction) { diff --git a/tests/cynara-tests/common/cynara_test_client_async_client.h b/tests/cynara-tests/common/cynara_test_client_async_client.h index 77f891f..37abdc5 100644 --- a/tests/cynara-tests/common/cynara_test_client_async_client.h +++ b/tests/cynara-tests/common/cynara_test_client_async_client.h @@ -19,6 +19,7 @@ #include #include +#include #include @@ -36,6 +37,8 @@ struct CheckData CheckData(const std::string &major, const std::string &minor = ""); CheckData(const std::string &major, int minor); + + CheckKey toAdminPolicy(); }; class Client diff --git a/tests/cynara-tests/common/cynara_test_commons.h b/tests/cynara-tests/common/cynara_test_commons.h index 6622ffb..d56b6eb 100644 --- a/tests/cynara-tests/common/cynara_test_commons.h +++ b/tests/cynara-tests/common/cynara_test_commons.h @@ -26,6 +26,7 @@ #include #include +#include namespace CynaraTestConsts { @@ -37,6 +38,13 @@ extern const std::string SERVICE; } +struct CheckKey +{ + const char *m_client; + const char *m_user; + const char *m_privilege; +}; + void environmentWrap(const char *testName, const std::function &func); #define RUN_CYNARA_TEST(Proc) \