const std::string InMemoryStorageBackendFixture::m_backupPath(Cynara::PathConfig::testsPath
+ "/db_backup/");
-TEST_F(InMemoryStorageBackendFixture, defaultPolicyIsDeny) {
+TEST_F(InMemoryStorageBackendFixture, defaultPolicyIsDenyPositive) {
using ::testing::ReturnRef;
FakeInMemoryStorageBackend backend(m_fakeDbPath);
}
// TODO: Refactorize this test to be shorter and clearer
-TEST_F(InMemoryStorageBackendFixture, deleteLinking) {
+TEST_F(InMemoryStorageBackendFixture, deleteLinkingPositive) {
using ::testing::ReturnRef;
using ::testing::IsEmpty;
using ::testing::UnorderedElementsAre;
ASSERT_THAT(m_buckets.at(testBucket3), IsEmpty());
}
-TEST_F(InMemoryStorageBackendFixture, insertPolicy) {
+TEST_F(InMemoryStorageBackendFixture, insertPolicyPositive) {
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAre;
using PredefinedPolicyType::ALLOW;
ASSERT_THAT(m_buckets.at(bucketId), UnorderedElementsAre(policyToAdd));
}
-TEST_F(InMemoryStorageBackendFixture, insertPolicyToNonexistentBucket) {
+TEST_F(InMemoryStorageBackendFixture, insertPolicyToNonexistentBucketNegative) {
using ::testing::ReturnRef;
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_THROW(backend.insertPolicy("non-existent", nullptr), BucketNotExistsException);
}
-TEST_F(InMemoryStorageBackendFixture, deletePolicy) {
+TEST_F(InMemoryStorageBackendFixture, deletePolicyPositive) {
using ::testing::ReturnRef;
using ::testing::IsEmpty;
using ::testing::UnorderedElementsAre;
EXPECT_THAT(m_buckets.at(bucketId), UnorderedElementsAreArray(otherPolicies));
}
-TEST_F(InMemoryStorageBackendFixture, deletePolicyFromNonexistentBucket) {
+TEST_F(InMemoryStorageBackendFixture, deletePolicyFromNonexistentBucketNegative) {
using ::testing::ReturnRef;
using ::testing::IsEmpty;
using ::testing::UnorderedElementsAre;
}
// Database dir is empty
-TEST_F(InMemoryStorageBackendFixture, load_no_db) {
+TEST_F(InMemoryStorageBackendFixture, loadNoDbNegative) {
using ::testing::ReturnRef;
auto testDbPath = Cynara::PathConfig::testsPath + "/empty_db/";
// make sure that DB directory is empty
// Database dir is empty
// Database will be replaced with emergency backup
-TEST_F(InMemoryStorageBackendFixture, load_no_db_with_backup) {
+TEST_F(InMemoryStorageBackendFixture, loadNoDbWithBackupPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
const std::string TEST_DB_PATH = Cynara::PathConfig::testsPath + "/empty_db/";
}
// Database dir contains index with default bucket, but no file for this bucket
-TEST_F(InMemoryStorageBackendFixture, load_no_default) {
+TEST_F(InMemoryStorageBackendFixture, loadNoDefaultNegative) {
using ::testing::ReturnRef;
auto testDbPath = Cynara::PathConfig::testsPath + "/db2_corrupted/";
// Database dir contains index with default bucket, but no file for this bucket
// Database will be replaced with emergency backup
-TEST_F(InMemoryStorageBackendFixture, load_no_default_with_backup) {
+TEST_F(InMemoryStorageBackendFixture, loadNoDefaultWithBackupPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
const std::string TEST_DB_PATH = Cynara::PathConfig::testsPath + "/db2/";
}
// Database contains index with default bucket and an empty bucket file
-TEST_F(InMemoryStorageBackendFixture, load_default_only) {
+TEST_F(InMemoryStorageBackendFixture, loadDefaultOnlyPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
auto testDbPath = Cynara::PathConfig::testsPath + "/db11_md5/";
// Database contains index with default bucket and an additional bucket
// There are files for both buckets present
-TEST_F(InMemoryStorageBackendFixture, load_2_buckets) {
+TEST_F(InMemoryStorageBackendFixture, loadTwoBucketsPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
using ::testing::IsEmpty;
std::vector<std::string> bucketIds = { "", "additional" };
for(const auto &bucketId : bucketIds) {
- SCOPED_TRACE(bucketId);
const auto bucketIter = m_buckets.find(bucketId);
- ASSERT_NE(m_buckets.end(), bucketIter);
+ ASSERT_NE(m_buckets.end(), bucketIter) << " for " << bucketId;
const auto &bucketPolicies = bucketIter->second;
- ASSERT_THAT(bucketPolicies, IsEmpty());
+ ASSERT_THAT(bucketPolicies, IsEmpty()) << " for " << bucketId;
}
}
// Database contains index with 2 buckets; 1st bucket is valid, but second is corrupted
-TEST_F(InMemoryStorageBackendFixture, second_bucket_corrupted) {
+TEST_F(InMemoryStorageBackendFixture, secondBucketCorruptedNegative) {
using ::testing::ReturnRef;
auto testDbPath = Cynara::PathConfig::testsPath + "/db5_corrupted/";
FakeInMemoryStorageBackend backend(testDbPath);
// Database contains index with 2 buckets; 1st bucket is valid, but second is corrupted
// Database will be replaced with emergency backup
-TEST_F(InMemoryStorageBackendFixture, second_bucket_corrupted_with_backup) {
+TEST_F(InMemoryStorageBackendFixture, secondBucketCorruptedWithBackupPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
const std::string TEST_DB_PATH = Cynara::PathConfig::testsPath + "/db5/";
* - Execution of load() should use backup files (present, with different contents than primaries)
* - Loaded database is checked - backup files were empty, so should recently loaded policies
*/
-TEST_F(InMemoryStorageBackendFixture, load_from_backup) {
+TEST_F(InMemoryStorageBackendFixture, loadFromBackupPositive) {
using ::testing::ReturnRef;
using ::testing::Return;
using ::testing::IsEmpty;
std::vector<std::string> bucketIds = { "", "additional" };
for(const auto &bucketId : bucketIds) {
- SCOPED_TRACE(bucketId);
const auto bucketIter = m_buckets.find(bucketId);
- ASSERT_NE(m_buckets.end(), bucketIter);
+ ASSERT_NE(m_buckets.end(), bucketIter) << " for " << bucketId;
const auto &bucketPolicies = bucketIter->second;
- ASSERT_THAT(bucketPolicies, IsEmpty());
+ ASSERT_THAT(bucketPolicies, IsEmpty()) << " for " << bucketId;
}
}
* - try erase policies from "non-existing-bucket"
* - expect BucketNotExistsException is thrown
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesEmptyBase) {
+TEST_F(InMemoryStorageBackendFixture, erasePolicyEmptyBaseNegative) {
using ::testing::ReturnRef;
FakeInMemoryStorageBackend backend(m_fakeDbPath);
const bool NON_RECURSIVE = false;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
EXPECT_THROW(backend.erasePolicies(bucketId, NON_RECURSIVE, filter.key()),
- BucketNotExistsException);
+ BucketNotExistsException) << " for " << filter.name();
}
}
* - erase policies from "test-bucket"
* - check if received results match expected
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesSingleBucket) {
+TEST_F(InMemoryStorageBackendFixture, erasePolicySingleBucketPositive) {
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAreArray;
const bool NON_RECURSIVE = false;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_CALL(backend, buckets()).WillRepeatedly(ReturnRef(m_buckets));
backend.erasePolicies(bucketId, NON_RECURSIVE, filter.key());
ASSERT_THAT(m_buckets.at(bucketId),
- UnorderedElementsAreArray(expectedEraseResult(filter.name())));
+ UnorderedElementsAreArray(expectedEraseResult(filter.name())))
+ << " for " << filter.name();
}
}
* - check if received results match expected in case of "test-bucket"
* - check if policies in "test-bucket2" remain unaffected
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesRecursiveNotLinkedBuckets) {
+TEST_F(InMemoryStorageBackendFixture, erasePolicyRecursiveNotLinkedBucketsPositive) {
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAreArray;
const bool RECURSIVE = true;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_CALL(backend, buckets()).WillRepeatedly(ReturnRef(m_buckets));
backend.erasePolicies(bucketId, RECURSIVE, filter.key());
ASSERT_THAT(m_buckets.at(bucketId),
- UnorderedElementsAreArray(expectedEraseResult(filter.name())));
+ UnorderedElementsAreArray(expectedEraseResult(filter.name())))
+ << " for " << filter.name();
ASSERT_THAT(m_buckets.at(bucketId2),
- UnorderedElementsAreArray(fullPoliciesCollection()));
+ UnorderedElementsAreArray(fullPoliciesCollection()))
+ << " for " << filter.name();
}
}
* - check if received results match expected in case of "test-bucket"
* - check if received results match expected in case of "test-bucket2"
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesRecursiveLinkedBuckets) {
+TEST_F(InMemoryStorageBackendFixture, erasePolicyRecursiveLinkedBucketsPositive) {
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAreArray;
const bool RECURSIVE = true;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_CALL(backend, buckets()).WillRepeatedly(ReturnRef(m_buckets));
expectedResult.insert(expectedResult.end(), linkPolicy.begin(), linkPolicy.end());
}
ASSERT_THAT(m_buckets.at(bucketId),
- UnorderedElementsAreArray(expectedResult));
+ UnorderedElementsAreArray(expectedResult)) << " for " << filter.name();
ASSERT_THAT(m_buckets.at(bucketId2),
- UnorderedElementsAreArray(expectedEraseResult(filter.name())));
+ UnorderedElementsAreArray(expectedEraseResult(filter.name())))
+ << " for " << filter.name();
}
}
* - check if policies in "test-bucket" remain unaffected
* - check if received results match expected in case of "test-bucket2"
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesRecursiveLinkedBucketsNoBackwardPropagation) {
+TEST_F(InMemoryStorageBackendFixture,
+ erasePolicyRecursiveLinkedBucketsNoBackwardPropagationPositive)
+{
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAreArray;
const bool RECURSIVE = true;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_CALL(backend, buckets()).WillRepeatedly(ReturnRef(m_buckets));
expectedResult.insert(expectedResult.end(), linkPolicy.begin(), linkPolicy.end());
ASSERT_THAT(m_buckets.at(bucketId),
- UnorderedElementsAreArray(expectedResult));
+ UnorderedElementsAreArray(expectedResult)) << " for " << filter.name();
ASSERT_THAT(m_buckets.at(bucketId2),
- UnorderedElementsAreArray(expectedEraseResult(filter.name())));
+ UnorderedElementsAreArray(expectedEraseResult(filter.name())))
+ << " for " << filter.name();
}
}
* - check if received results match expected in case of "test-bucket"
* - check if policies in "test-bucket2" remain unaffected
*/
-TEST_F(InMemoryStorageBackendFixture, erasePoliciesNonRecursiveLinkedBuckets) {
+TEST_F(InMemoryStorageBackendFixture, erasePolicyNonRecursiveLinkedBucketsPositive) {
using ::testing::ReturnRef;
using ::testing::UnorderedElementsAreArray;
const bool NON_RECURSIVE = false;
for (const auto &filter : filters()) {
- SCOPED_TRACE(filter.name());
-
FakeInMemoryStorageBackend backend(m_fakeDbPath);
EXPECT_CALL(backend, buckets()).WillRepeatedly(ReturnRef(m_buckets));
expectedResult.insert(expectedResult.end(), linkPolicy.begin(), linkPolicy.end());
}
ASSERT_THAT(m_buckets.at(bucketId),
- UnorderedElementsAreArray(expectedResult));
+ UnorderedElementsAreArray(expectedResult)) << " for " << filter.name();
ASSERT_THAT(m_buckets.at(bucketId2),
- UnorderedElementsAreArray(fullPoliciesCollection()));
+ UnorderedElementsAreArray(fullPoliciesCollection()))
+ << " for " << filter.name();
}
}