Add tests for cynara_admin_list_policies_descriptions 85/33085/8
authorLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Mon, 5 Jan 2015 10:26:21 +0000 (11:26 +0100)
committerLukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Thu, 15 Jan 2015 18:25:43 +0000 (19:25 +0100)
Each of added tests uses the fact that every cynara test is wrapped in
CynaraTestEnv that saves cynara service plugins.
Every test clears cynara service plugins folder and restarts cynara.
Then proper combination of plugins (sometimes none) are loaded.
There are 4 tests added:
* tc30_admin_list_descriptions_no_plugins - no plugins are loaded,
 there are only default cynara policies;
* tc31_admin_list_descriptions_1_plugin_single_policy;
* tc32_admin_list_descriptions_1_plugin_multiple_policy;
* tc33_admin_list_descriptions_multiple_plugins.

Change-Id: Id778477c35a6d65a7d4f71df03dcccefcbb6e756

tests/cynara-tests/test_cases.cpp

index 3b99263..104cd83 100644 (file)
@@ -28,6 +28,8 @@
 #include <tests_common.h>
 #include <cynara_test_client.h>
 #include <cynara_test_admin.h>
+#include <cynara_test_env.h>
+#include <plugins.h>
 
 #include <climits>
 
@@ -1257,6 +1259,48 @@ void tc29_admin_erase_recursive_from_sub_bucket_func()
     }
 }
 
+void testPlugins(const std::vector<std::string> &plugins)
+{
+    using namespace CynaraTestPlugins;
+
+    DirectoryPaths paths;
+    Descriptions expectedDescriptions(POLICY_DESCRIPTIONS.at(DEFAULT_POLICY));
+
+    for (auto &plugin : plugins) {
+        paths.push_back(TEST_PLUGIN_PATH + plugin);
+
+        const Descriptions &pluginDescriptions = POLICY_DESCRIPTIONS.at(plugin);
+        expectedDescriptions.insert(expectedDescriptions.end(),
+                                    pluginDescriptions.begin(), pluginDescriptions.end());
+    }
+
+    loadServicePlugins(paths);
+
+    Admin admin;
+    admin.listPoliciesDescriptions(expectedDescriptions);
+}
+
+void tc30_admin_list_descriptions_no_plugins_func()
+{
+    testPlugins({});
+}
+
+void tc31_admin_list_descriptions_1_plugin_single_policy_func()
+{
+    testPlugins({CynaraTestPlugins::SINGLE_POLICY});
+}
+
+void tc32_admin_list_descriptions_1_plugin_multiple_policy_func()
+{
+    testPlugins({CynaraTestPlugins::MULTIPLE_POLICY});
+}
+
+void tc33_admin_list_descriptions_multiple_plugins_func()
+{
+    testPlugins({CynaraTestPlugins::SINGLE_POLICY,
+                 CynaraTestPlugins::MULTIPLE_POLICY});
+}
+
 RUNNER_TEST_GROUP_INIT(cynara_tests)
 
 RUN_CYNARA_TEST(tc01_cynara_initialize)
@@ -1293,3 +1337,7 @@ RUN_CYNARA_TEST(tc26_admin_erase_recursive_not_linked_buckets)
 RUN_CYNARA_TEST(tc27_admin_erase_recursive_linked_buckets)
 RUN_CYNARA_TEST(tc28_admin_erase_non_recursive_linked_buckets)
 RUN_CYNARA_TEST(tc29_admin_erase_recursive_from_sub_bucket)
+RUN_CYNARA_TEST(tc30_admin_list_descriptions_no_plugins)
+RUN_CYNARA_TEST(tc31_admin_list_descriptions_1_plugin_single_policy)
+RUN_CYNARA_TEST(tc32_admin_list_descriptions_1_plugin_multiple_policy)
+RUN_CYNARA_TEST(tc33_admin_list_descriptions_multiple_plugins)