diff options
Diffstat (limited to 'redfish-core/ut/privileges_test.cpp')
-rw-r--r-- | redfish-core/ut/privileges_test.cpp | 167 |
1 files changed, 90 insertions, 77 deletions
diff --git a/redfish-core/ut/privileges_test.cpp b/redfish-core/ut/privileges_test.cpp index 92cd6c42a4..d857290250 100644 --- a/redfish-core/ut/privileges_test.cpp +++ b/redfish-core/ut/privileges_test.cpp @@ -1,114 +1,127 @@ +#include "nlohmann/json.hpp" #include "privileges.hpp" + #include <fstream> #include <string> -#include "nlohmann/json.hpp" + #include "gmock/gmock.h" using namespace redfish; -TEST(PrivilegeTest, PrivilegeConstructor) { - Privileges privileges{"Login", "ConfigureManager"}; +TEST(PrivilegeTest, PrivilegeConstructor) +{ + Privileges privileges{"Login", "ConfigureManager"}; - EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), - ::testing::UnorderedElementsAre( - ::testing::Pointee(&"Login"[0]), - ::testing::Pointee(&"ConfigureManager"[0]))); + EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), + ::testing::UnorderedElementsAre( + ::testing::Pointee(&"Login"[0]), + ::testing::Pointee(&"ConfigureManager"[0]))); } -TEST(PrivilegeTest, PrivilegeCheckForNoPrivilegesRequired) { - Privileges userPrivileges{"Login"}; +TEST(PrivilegeTest, PrivilegeCheckForNoPrivilegesRequired) +{ + Privileges userPrivileges{"Login"}; - OperationMap entityPrivileges{{boost::beast::http::verb::get, {{"Login"}}}}; + OperationMap entityPrivileges{{boost::beast::http::verb::get, {{"Login"}}}}; - EXPECT_TRUE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_TRUE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForSingleCaseSuccess) { - auto userPrivileges = Privileges{"Login"}; - OperationMap entityPrivileges{{boost::beast::http::verb::get, {}}}; +TEST(PrivilegeTest, PrivilegeCheckForSingleCaseSuccess) +{ + auto userPrivileges = Privileges{"Login"}; + OperationMap entityPrivileges{{boost::beast::http::verb::get, {}}}; - EXPECT_TRUE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_TRUE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForSingleCaseFailure) { - auto userPrivileges = Privileges{"Login"}; - OperationMap entityPrivileges{ - {boost::beast::http::verb::get, {{"ConfigureManager"}}}}; +TEST(PrivilegeTest, PrivilegeCheckForSingleCaseFailure) +{ + auto userPrivileges = Privileges{"Login"}; + OperationMap entityPrivileges{ + {boost::beast::http::verb::get, {{"ConfigureManager"}}}}; - EXPECT_FALSE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_FALSE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForANDCaseSuccess) { - auto userPrivileges = - Privileges{"Login", "ConfigureManager", "ConfigureSelf"}; - OperationMap entityPrivileges{ - {boost::beast::http::verb::get, - {{"Login", "ConfigureManager", "ConfigureSelf"}}}}; +TEST(PrivilegeTest, PrivilegeCheckForANDCaseSuccess) +{ + auto userPrivileges = + Privileges{"Login", "ConfigureManager", "ConfigureSelf"}; + OperationMap entityPrivileges{ + {boost::beast::http::verb::get, + {{"Login", "ConfigureManager", "ConfigureSelf"}}}}; - EXPECT_TRUE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_TRUE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForANDCaseFailure) { - auto userPrivileges = Privileges{"Login", "ConfigureManager"}; - OperationMap entityPrivileges{ - {boost::beast::http::verb::get, - {{"Login", "ConfigureManager", "ConfigureSelf"}}}}; +TEST(PrivilegeTest, PrivilegeCheckForANDCaseFailure) +{ + auto userPrivileges = Privileges{"Login", "ConfigureManager"}; + OperationMap entityPrivileges{ + {boost::beast::http::verb::get, + {{"Login", "ConfigureManager", "ConfigureSelf"}}}}; - EXPECT_FALSE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_FALSE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForORCaseSuccess) { - auto userPrivileges = Privileges{"ConfigureManager"}; - OperationMap entityPrivileges{ - {boost::beast::http::verb::get, {{"Login"}, {"ConfigureManager"}}}}; +TEST(PrivilegeTest, PrivilegeCheckForORCaseSuccess) +{ + auto userPrivileges = Privileges{"ConfigureManager"}; + OperationMap entityPrivileges{ + {boost::beast::http::verb::get, {{"Login"}, {"ConfigureManager"}}}}; - EXPECT_TRUE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_TRUE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, PrivilegeCheckForORCaseFailure) { - auto userPrivileges = Privileges{"ConfigureComponents"}; - OperationMap entityPrivileges = OperationMap( - {{boost::beast::http::verb::get, {{"Login"}, {"ConfigureManager"}}}}); +TEST(PrivilegeTest, PrivilegeCheckForORCaseFailure) +{ + auto userPrivileges = Privileges{"ConfigureComponents"}; + OperationMap entityPrivileges = OperationMap( + {{boost::beast::http::verb::get, {{"Login"}, {"ConfigureManager"}}}}); - EXPECT_FALSE(isMethodAllowedWithPrivileges(boost::beast::http::verb::get, - entityPrivileges, userPrivileges)); + EXPECT_FALSE(isMethodAllowedWithPrivileges( + boost::beast::http::verb::get, entityPrivileges, userPrivileges)); } -TEST(PrivilegeTest, DefaultPrivilegeBitsetsAreEmpty) { - Privileges privileges; +TEST(PrivilegeTest, DefaultPrivilegeBitsetsAreEmpty) +{ + Privileges privileges; - EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), - ::testing::IsEmpty()); + EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), + ::testing::IsEmpty()); - EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::OEM), - ::testing::IsEmpty()); + EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::OEM), + ::testing::IsEmpty()); } -TEST(PrivilegeTest, GetActivePrivilegeNames) { - Privileges privileges; - - EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), - ::testing::IsEmpty()); - - std::array<const char*, 5> expectedPrivileges{ - "Login", "ConfigureManager", "ConfigureUsers", "ConfigureComponents", - "ConfigureSelf"}; - - for (const auto& privilege : expectedPrivileges) { - EXPECT_TRUE(privileges.setSinglePrivilege(privilege)); - } - - EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), - ::testing::UnorderedElementsAre( - ::testing::Pointee(expectedPrivileges[0]), - ::testing::Pointee(expectedPrivileges[1]), - ::testing::Pointee(expectedPrivileges[2]), - ::testing::Pointee(expectedPrivileges[3]), - ::testing::Pointee(expectedPrivileges[4]))); +TEST(PrivilegeTest, GetActivePrivilegeNames) +{ + Privileges privileges; + + EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), + ::testing::IsEmpty()); + + std::array<const char*, 5> expectedPrivileges{ + "Login", "ConfigureManager", "ConfigureUsers", "ConfigureComponents", + "ConfigureSelf"}; + + for (const auto& privilege : expectedPrivileges) + { + EXPECT_TRUE(privileges.setSinglePrivilege(privilege)); + } + + EXPECT_THAT(privileges.getActivePrivilegeNames(PrivilegeType::BASE), + ::testing::UnorderedElementsAre( + ::testing::Pointee(expectedPrivileges[0]), + ::testing::Pointee(expectedPrivileges[1]), + ::testing::Pointee(expectedPrivileges[2]), + ::testing::Pointee(expectedPrivileges[3]), + ::testing::Pointee(expectedPrivileges[4]))); } |