Cynara::Storage storage(backend);
PolicyKey pk = Helpers::generatePolicyKey();
- EXPECT_CALL(backend, searchDefaultBucket(pk))
+ EXPECT_CALL(backend, searchBucket(defaultPolicyBucketId, pk))
.WillOnce(ReturnPointee(&emptyBucket));
// Default bucket empty -- return DENY
Cynara::Storage storage(backend);
PolicyKey pk = Helpers::generatePolicyKey();
- EXPECT_CALL(backend, searchDefaultBucket(pk))
+ EXPECT_CALL(backend, searchBucket(defaultPolicyBucketId, pk))
.WillRepeatedly(ReturnPointee(&bucket));
// Default bucket empty -- return DENY
ASSERT_EQ(PredefinedPolicyType::DENY, storage.checkPolicy(pk).policyType());
}
+// TODO: Refactorize to resemble checkNonrecursive()
TEST(storage, checkBucket) {
using ::testing::ReturnPointee;
PolicyBucket additionalBucket;
- EXPECT_CALL(backend, searchDefaultBucket(pk))
- .WillRepeatedly(ReturnPointee(&defaultBucket));
-
EXPECT_CALL(backend, searchBucket(defaultPolicyBucketId, pk))
.WillRepeatedly(ReturnPointee(&defaultBucket));
FakeStorageBackend backend;
Cynara::Storage storage(backend);
- EXPECT_CALL(backend, searchDefaultBucket(checkKey))
- .WillRepeatedly(ReturnPointee(&defaultBucket));
-
EXPECT_CALL(backend, searchBucket(defaultPolicyBucketId, checkKey))
.WillRepeatedly(ReturnPointee(&defaultBucket));
FakeStorageBackend backend;
Cynara::Storage storage(backend);
- EXPECT_CALL(backend, searchDefaultBucket(checkKey))
- .WillRepeatedly(ReturnPointee(&defaultBucket));
-
EXPECT_CALL(backend, searchBucket(defaultPolicyBucketId, checkKey))
.WillRepeatedly(ReturnPointee(&defaultBucket));
// Should return additional bucket's default policy
ASSERT_EQ(PredefinedPolicyType::ALLOW, storage.checkPolicy(checkKey));
}
+
+TEST(storage, checkNonrecursive) {
+ using ::testing::ReturnPointee;
+
+ PolicyKey pk = Helpers::generatePolicyKey();
+ PolicyBucketId bucketId = "a-bucket";
+
+ PolicyBucket bucket(bucketId, PredefinedPolicyType::ALLOW,
+ { Policy::bucketWithKey(pk, "must-not-be-touched") });
+ FakeStorageBackend backend;
+
+ Cynara::Storage storage(backend);
+
+ EXPECT_CALL(backend, searchBucket(bucketId, pk))
+ .WillOnce(ReturnPointee(&bucket));
+
+ ASSERT_EQ(PredefinedPolicyType::ALLOW, storage.checkPolicy(pk, bucketId, false));
+}