|
18 | 18 |
|
19 | 19 | #include <gtest/gtest.h> |
20 | 20 | #include <casbin/casbin.h> |
| 21 | +#include "config_path.h" |
21 | 22 |
|
22 | 23 | namespace { |
23 | 24 |
|
24 | | -// void TestSyncFn(casbin::SyncedEnforcer& e, const std::string& sub, const std::string& obj, const std::string& act, bool control) { |
25 | | -// bool response = e.Enforce({ sub, obj, act }); |
26 | | -// ASSERT_EQ(response, control); |
27 | | -// } |
| 25 | +void TestSyncFn(casbin::SyncedEnforcer& e, const std::string& sub, const std::string& obj, const std::string& act, bool control) { |
| 26 | + bool response = e.Enforce({ sub, obj, act }); |
| 27 | + ASSERT_EQ(response, control); |
| 28 | +} |
28 | 29 |
|
29 | | -// TEST(TestEnforcerSynced, TestSync) { |
30 | | -// casbin::SyncedEnforcer e(basic_model_path, basic_policy_path); |
| 30 | +TEST(TestEnforcerSynced, TestSync) { |
| 31 | + casbin::SyncedEnforcer e(basic_model_path, basic_policy_path); |
31 | 32 |
|
32 | | -// using namespace std::literals::chrono_literals; |
33 | | -// auto time1 = 200ms; |
34 | | -// e.StartAutoLoadPolicy(time1); |
| 33 | + using namespace std::literals::chrono_literals; |
| 34 | + auto time1 = 200ms; |
| 35 | + e.StartAutoLoadPolicy(time1); |
35 | 36 |
|
36 | | -// TestSyncFn(e, "alice", "data1", "read", true); |
37 | | -// TestSyncFn(e, "alice", "data1", "write", false); |
38 | | -// TestSyncFn(e, "alice", "data2", "read", false); |
39 | | -// TestSyncFn(e, "alice", "data2", "write", false); |
40 | | -// TestSyncFn(e, "bob", "data1", "read", false); |
41 | | -// TestSyncFn(e, "bob", "data1", "write", false); |
42 | | -// TestSyncFn(e, "bob", "data2", "read", false); |
43 | | -// TestSyncFn(e, "bob", "data2", "write", true); |
| 37 | + TestSyncFn(e, "alice", "data1", "read", true); |
| 38 | + TestSyncFn(e, "alice", "data1", "write", false); |
| 39 | + TestSyncFn(e, "alice", "data2", "read", false); |
| 40 | + TestSyncFn(e, "alice", "data2", "write", false); |
| 41 | + TestSyncFn(e, "bob", "data1", "read", false); |
| 42 | + TestSyncFn(e, "bob", "data1", "write", false); |
| 43 | + TestSyncFn(e, "bob", "data2", "read", false); |
| 44 | + TestSyncFn(e, "bob", "data2", "write", true); |
44 | 45 |
|
45 | | -// std::this_thread::sleep_for(200ms); |
46 | | -// e.StopAutoLoadPolicy(); |
47 | | -// } |
| 46 | + std::this_thread::sleep_for(200ms); |
| 47 | + e.StopAutoLoadPolicy(); |
| 48 | +} |
48 | 49 |
|
49 | | -// TEST(TestEnforcerSynced, TestStopLoadPolicy) { |
50 | | -// casbin::SyncedEnforcer e(basic_model_path, basic_policy_path); |
| 50 | +TEST(TestEnforcerSynced, TestStopLoadPolicy) { |
| 51 | + casbin::SyncedEnforcer e(basic_model_path, basic_policy_path); |
51 | 52 |
|
52 | | -// using namespace std::literals::chrono_literals; |
53 | | -// std::chrono::duration<int64_t, std::nano> t = 5ms; |
| 53 | + using namespace std::literals::chrono_literals; |
| 54 | + std::chrono::duration<int64_t, std::nano> t = 5ms; |
54 | 55 |
|
55 | | -// e.StartAutoLoadPolicy(t); |
| 56 | + e.StartAutoLoadPolicy(t); |
56 | 57 |
|
57 | | -// EXPECT_EQ(e.IsAutoLoadingRunning(), true); |
| 58 | + EXPECT_EQ(e.IsAutoLoadingRunning(), true); |
58 | 59 |
|
59 | | -// TestSyncFn(e , "alice", "data1", "read", true); |
60 | | -// TestSyncFn(e , "alice", "data1", "write", false); |
61 | | -// TestSyncFn(e , "alice", "data2", "read", false); |
62 | | -// TestSyncFn(e , "alice", "data2", "write", false); |
63 | | -// TestSyncFn(e , "bob", "data1", "read", false); |
64 | | -// TestSyncFn(e , "bob", "data1", "write", false); |
65 | | -// TestSyncFn(e , "bob", "data2", "read", false); |
66 | | -// TestSyncFn(e , "bob", "data2", "write", true); |
| 60 | + TestSyncFn(e , "alice", "data1", "read", true); |
| 61 | + TestSyncFn(e , "alice", "data1", "write", false); |
| 62 | + TestSyncFn(e , "alice", "data2", "read", false); |
| 63 | + TestSyncFn(e , "alice", "data2", "write", false); |
| 64 | + TestSyncFn(e , "bob", "data1", "read", false); |
| 65 | + TestSyncFn(e , "bob", "data1", "write", false); |
| 66 | + TestSyncFn(e , "bob", "data2", "read", false); |
| 67 | + TestSyncFn(e , "bob", "data2", "write", true); |
67 | 68 |
|
68 | | -// e.StopAutoLoadPolicy(); |
69 | | -// std::this_thread::sleep_for(10ms); |
| 69 | + e.StopAutoLoadPolicy(); |
| 70 | + std::this_thread::sleep_for(10ms); |
70 | 71 |
|
71 | | -// EXPECT_EQ(e.IsAutoLoadingRunning(), false); |
72 | | -// } |
| 72 | + EXPECT_EQ(e.IsAutoLoadingRunning(), false); |
| 73 | +} |
73 | 74 |
|
74 | 75 | } // namespace |
0 commit comments