Skip to content

Commit 085121c

Browse files
authored
Merge pull request #8 from basakest/savePolicy
fix: Amend some variables of savePolicy method
2 parents 9590645 + d5f1e47 commit 085121c

File tree

4 files changed

+25
-8
lines changed

4 files changed

+25
-8
lines changed

composer.lock

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Adapter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,13 +62,13 @@ public function loadPolicy($model): void
6262

6363
public function savePolicy($model): void
6464
{
65-
foreach ($model->model['p'] as $ptype => $ast) {
65+
foreach ($model['p'] as $ptype => $ast) {
6666
foreach ($ast->policy as $rule) {
6767
$this->savePolicyLine($ptype, $rule);
6868
}
6969
}
7070

71-
foreach ($model->model['g'] as $ptype => $ast) {
71+
foreach ($model['g'] as $ptype => $ast) {
7272
foreach ($ast->policy as $rule) {
7373
$this->savePolicyLine($ptype, $rule);
7474
}

tests/DatabaseAdapterTest.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,20 @@ public function testAddPolicies()
9595
$this->assertEquals($policies, $e->getPolicy());
9696
}
9797

98+
public function testSavePolicy()
99+
{
100+
$e = $this->getEnforcer();
101+
$this->assertFalse($e->enforce('alice', 'data4', 'read'));
102+
103+
$model = $e->getModel();
104+
$model->clearPolicy();
105+
$model->addPolicy('p', 'p', ['alice', 'data4', 'read']);
106+
107+
$adapter = $e->getAdapter();
108+
$adapter->savePolicy($model);
109+
$this->assertTrue($e->enforce('alice', 'data4', 'read'));
110+
}
111+
98112
public function testRemovePolicy()
99113
{
100114
$e = $this->getEnforcer();

tests/casbin-model.conf

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ r = sub, obj, act
44
[policy_definition]
55
p = sub, obj, act
66

7+
[role_definition]
8+
g = _, _
9+
710
[policy_effect]
811
e = some(where (p.eft == allow))
912

0 commit comments

Comments
 (0)