virtual void insertPolicy(const PolicyBucketId &bucketId, PolicyPtr policy);
virtual void createBucket(const PolicyBucketId &bucketId, const PolicyResult &defaultPolicy);
virtual void deleteBucket(const PolicyBucketId &bucketId);
+ virtual bool hasBucket(const PolicyBucketId &bucketId);
virtual void deletePolicy(const PolicyBucketId &bucketId, const PolicyKey &key);
virtual void deleteLinking(const PolicyBucketId &bucketId);
using namespace Cynara;
-TEST_F(InMemeoryStorageBackendFixture, addBucket) {
+TEST_F(InMemeoryStorageBackendFixture, createBucket) {
using ::testing::ReturnRef;
using ::testing::IsEmpty;
FakeInMemoryStorageBackend backend;
EXPECT_CALL(backend, buckets())
- .WillOnce(ReturnRef(m_buckets));
+ .WillRepeatedly(ReturnRef(m_buckets));
PolicyResult defaultPolicy(PredefinedPolicyType::ALLOW);
PolicyBucketId bucketId = "new-bucket";
FakeInMemoryStorageBackend backend;
EXPECT_CALL(backend, buckets())
- .WillOnce(ReturnRef(m_buckets));
+ .WillRepeatedly(ReturnRef(m_buckets));
PolicyBucketId bucketId = "delete-bucket";
m_buckets.insert({ bucketId, PolicyBucket() });
ASSERT_THAT(m_buckets, IsEmpty());
}
+TEST_F(InMemeoryStorageBackendFixture, hasBucket) {
+ using ::testing::ReturnRef;
+ using ::testing::IsEmpty;
+
+ FakeInMemoryStorageBackend backend;
+ EXPECT_CALL(backend, buckets())
+ .WillRepeatedly(ReturnRef(m_buckets));
+
+ PolicyBucketId bucketId = "bucket";
+ m_buckets.insert({ bucketId, PolicyBucket() });
+
+ ASSERT_TRUE(backend.hasBucket(bucketId));
+ ASSERT_FALSE(backend.hasBucket("non-existent"));
+}
+
TEST_F(InMemeoryStorageBackendFixture, deleteNonexistentBucket) {
using ::testing::ReturnRef;
FakeInMemoryStorageBackend backend;
EXPECT_CALL(backend, buckets())
- .WillOnce(ReturnRef(m_buckets));
+ .WillRepeatedly(ReturnRef(m_buckets));
EXPECT_THROW(backend.deleteBucket("non-existent"), BucketNotExistsException);
}
MOCK_METHOD2(searchBucket, PolicyBucket(const PolicyBucketId &bucket, const PolicyKey &key));
MOCK_METHOD2(createBucket, void(const PolicyBucketId &bucketId, const PolicyResult &defaultPolicy));
MOCK_METHOD1(deleteBucket, void(const PolicyBucketId &bucketId));
+ MOCK_METHOD1(hasBucket, bool(const PolicyBucketId &bucketId));
MOCK_METHOD2(deletePolicy, void(const PolicyBucketId &bucketId, const PolicyKey &key));
MOCK_METHOD1(deleteLinking, void(const PolicyBucketId &bucket));
MOCK_METHOD2(insertPolicy, void(const PolicyBucketId &bucketId, PolicyPtr policy));