Check integrity after partial policy set
[platform/core/test/security-tests.git] / tests / cynara-tests / test_cases.cpp
index be3ca37..afc8c03 100644 (file)
@@ -571,6 +571,40 @@ void tc13_admin_set_policies_to_extra_bucket_func()
     cynara.check(client, session, user, privilege, CYNARA_API_ACCESS_DENIED);
 }
 
+void tc14_admin_set_policies_integrity_func()
+{
+    const char *bucketDefault = CYNARA_ADMIN_DEFAULT_BUCKET;
+    const char *bucket = "bucket14";
+    const char *client = "client14";
+    const char *session = "session14";
+    const char *user = "user14";
+    const char *privilege = "privilege14";
+    const char *extraResult = nullptr;
+
+    {
+        CynaraTestClient cynara;
+        cynara.check(client, session, user, privilege, CYNARA_API_ACCESS_DENIED);
+    }
+
+    {
+        CynaraTestAdmin admin;
+        CynaraPoliciesContainer cp;
+        cp.add(bucketDefault,
+               client, user, privilege,
+               CYNARA_ADMIN_ALLOW, extraResult);
+        cp.add(bucket,
+               client, user, privilege,
+               CYNARA_ADMIN_ALLOW, extraResult);
+        admin.setPolicies(cp, CYNARA_ADMIN_API_BUCKET_NOT_FOUND);
+    }
+
+    {
+        CynaraTestClient cynara;
+        cynara.check(client, session, user, privilege, CYNARA_API_ACCESS_DENIED);
+    }
+
+}
+
 RUNNER_TEST_GROUP_INIT(cynara_tests)
 
 RUN_CYNARA_TEST(tc01_cynara_initialize)
@@ -589,3 +623,4 @@ RUN_CYNARA_TEST(tc10_admin_change_extra_bucket)
 RUN_CYNARA_TEST(tc11_admin_bucket_not_found)
 RUN_CYNARA_TEST(tc12_admin_delete_bucket_with_policies_pointing_to_it)
 RUN_CYNARA_TEST(tc13_admin_set_policies_to_extra_bucket)
+RUN_CYNARA_TEST(tc14_admin_set_policies_integrity)