Skip to content

Commit 51e01fb

Browse files
committed
test: Added ABACData
Signed-off-by: Yash Pandey (YP) <[email protected]>
1 parent 6dfa478 commit 51e01fb

15 files changed

+51
-11
lines changed

casbin/abac_data.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ namespace casbin {
3636
* Key's type is std::string and value's type can be one of std::string, int32_t, and float only
3737
* @return Pointer to casbin::ABACData entity
3838
*/
39-
static const std::shared_ptr<ABACData> GetData(const ABACData::VariantMap& attribs) {
39+
const std::shared_ptr<ABACData> GetData(const ABACData::VariantMap& attribs) {
4040
return std::make_shared<ABACData>(attribs);
4141
}
4242

casbin/abac_data.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ class ABACData {
104104
// Casbin ABAC entity type
105105
typedef ABACData ABACData;
106106

107+
const std::shared_ptr<ABACData> GetData(const ABACData::VariantMap& attribs);
107108
}
108109

109110
#endif

casbin/casbin.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@
2525
#include "util.h"
2626
#include "exception.h"
2727
#include "rbac.h"
28+
#include "abac_data.h"

tests/built_in_functions_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,4 +164,4 @@ TEST(TestBuiltInFunctions, TestIPMatch) {
164164
TestIPMatchFn("11.0.0.123", "10.0.0.0/8", false);
165165
}
166166

167-
}
167+
} // namespace

tests/config_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,4 @@ TEST(TestConfig, TestRedis) {
4242
ASSERT_EQ(std::string("push2"), values[1]);
4343
}
4444

45-
}
45+
} // namespace

tests/enforcer_cached_test.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <gtest/gtest.h>
2020
#include <casbin/casbin.h>
2121

22+
namespace {
23+
2224
TEST(TestEnforcerCached, TestCache) {
2325
std::string model = "../../examples/basic_model.conf";
2426
std::string policy = "../../examples/basic_policy.csv";
@@ -43,4 +45,6 @@ TEST(TestEnforcerCached, TestCache) {
4345
ASSERT_EQ(e.Enforce({ "alice", "data1", "write" }), false);
4446
ASSERT_EQ(e.Enforce({ "alice", "data2", "read" }), false);
4547
ASSERT_EQ(e.Enforce({ "alice", "data2", "write" }), false);
46-
}
48+
}
49+
50+
} // namespace

tests/enforcer_synced_test.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <gtest/gtest.h>
2020
#include <casbin/casbin.h>
2121

22+
namespace {
23+
2224
// void TestSyncFn(casbin::SyncedEnforcer& e, const std::string& sub, const std::string& obj, const std::string& act, bool control) {
2325
// bool response = e.Enforce({ sub, obj, act });
2426
// ASSERT_EQ(response, control);
@@ -72,3 +74,5 @@
7274

7375
// EXPECT_EQ(e.IsAutoLoadingRunning(), false);
7476
// }
77+
78+
} // namespace

tests/enforcer_test.cpp

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#include <gtest/gtest.h>
2020
#include <casbin/casbin.h>
2121

22+
namespace {
23+
2224
TEST(TestEnforcer, TestFourParams) {
2325
std::string model = "../../examples/rbac_with_domains_model.conf";
2426
std::string policy = "../../examples/rbac_with_domains_policy.csv";
@@ -93,3 +95,31 @@ TEST(TestEnforcer, TestMapParams) {
9395
params = { {"sub","bob"},{"obj","data2"},{"act","write"} };
9496
ASSERT_EQ(e.Enforce(params), true);
9597
}
98+
99+
TEST(TestEnforcer, ABACData) {
100+
casbin::ABACData::VariantMap params = {
101+
{ "Name", "Yash" },
102+
{ "Grade", 8.6f },
103+
{ "Age", 18 },
104+
};
105+
106+
auto data = casbin::GetData(params);
107+
EXPECT_EQ(params, data->GetAttributes());
108+
109+
data->DeleteAttribute("Name");
110+
params = {
111+
{ "Grade", 8.6f },
112+
{ "Age", 18 },
113+
};
114+
EXPECT_EQ(params, data->GetAttributes());
115+
116+
data->AddAttribute("ID", 156);
117+
params["ID"] = 156;
118+
EXPECT_EQ(params, data->GetAttributes());
119+
120+
data->UpdateAttribute("ID", 152);
121+
params["ID"] = 152;
122+
EXPECT_EQ(params, data->GetAttributes());
123+
}
124+
125+
} // namespace

tests/management_api_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,4 +284,4 @@ TEST(TestManagementAPI, TestModifyGroupingPolicyAPI) {
284284
ASSERT_TRUE(casbin::ArrayEquals({"data4_admin"}, e.GetRolesForUser("admin")));
285285
}
286286

287-
}
287+
} // namespace

tests/model_enforcer_test.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -756,4 +756,4 @@ func TestCommentModel(t* testing.T) {
756756
}
757757
*/
758758

759-
}
759+
} // namespace

0 commit comments

Comments
 (0)