@@ -12,117 +12,119 @@ def get_fixture(path):
1212 dir_path = os .path .split (os .path .realpath (__file__ ))[0 ] + "/"
1313 return os .path .abspath (dir_path + path )
1414
15+
1516def get_enforcer ():
1617 adapter = Adapter ()
1718
18- CasbinRule .objects .bulk_create ([
19- CasbinRule (ptype = 'p' , v0 = 'alice' , v1 = 'data1' , v2 = 'read' ),
20- CasbinRule (ptype = 'p' , v0 = 'bob' , v1 = 'data2' , v2 = 'write' ),
21- CasbinRule (ptype = 'p' , v0 = 'data2_admin' , v1 = 'data2' , v2 = 'read' ),
22- CasbinRule (ptype = 'p' , v0 = 'data2_admin' , v1 = 'data2' , v2 = 'write' ),
23- CasbinRule (ptype = 'g' , v0 = 'alice' , v1 = 'data2_admin' ),
24- ])
19+ CasbinRule .objects .bulk_create (
20+ [
21+ CasbinRule (ptype = "p" , v0 = "alice" , v1 = "data1" , v2 = "read" ),
22+ CasbinRule (ptype = "p" , v0 = "bob" , v1 = "data2" , v2 = "write" ),
23+ CasbinRule (ptype = "p" , v0 = "data2_admin" , v1 = "data2" , v2 = "read" ),
24+ CasbinRule (ptype = "p" , v0 = "data2_admin" , v1 = "data2" , v2 = "write" ),
25+ CasbinRule (ptype = "g" , v0 = "alice" , v1 = "data2_admin" ),
26+ ]
27+ )
2528
26- return casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
29+ return casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
2730
2831
2932class TestConfig (TestCase ):
3033 def test_enforcer_basic (self ):
3134 e = get_enforcer ()
32- self .assertTrue (e .enforce (' alice' , ' data1' , ' read' ))
33- self .assertFalse (e .enforce (' bob' , ' data1' , ' read' ))
34- self .assertTrue (e .enforce (' bob' , ' data2' , ' write' ))
35- self .assertTrue (e .enforce (' alice' , ' data2' , ' read' ))
36- self .assertTrue (e .enforce (' alice' , ' data2' , ' write' ))
35+ self .assertTrue (e .enforce (" alice" , " data1" , " read" ))
36+ self .assertFalse (e .enforce (" bob" , " data1" , " read" ))
37+ self .assertTrue (e .enforce (" bob" , " data2" , " write" ))
38+ self .assertTrue (e .enforce (" alice" , " data2" , " read" ))
39+ self .assertTrue (e .enforce (" alice" , " data2" , " write" ))
3740
3841 def test_add_policy (self ):
3942 adapter = Adapter ()
40- e = casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
43+ e = casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
4144
4245 try :
43- self .assertFalse (e .enforce (' alice' , ' data1' , ' read' ))
44- self .assertFalse (e .enforce (' bob' , ' data1' , ' read' ))
45- self .assertFalse (e .enforce (' bob' , ' data2' , ' write' ))
46- self .assertFalse (e .enforce (' alice' , ' data2' , ' read' ))
47- self .assertFalse (e .enforce (' alice' , ' data2' , ' write' ))
46+ self .assertFalse (e .enforce (" alice" , " data1" , " read" ))
47+ self .assertFalse (e .enforce (" bob" , " data1" , " read" ))
48+ self .assertFalse (e .enforce (" bob" , " data2" , " write" ))
49+ self .assertFalse (e .enforce (" alice" , " data2" , " read" ))
50+ self .assertFalse (e .enforce (" alice" , " data2" , " write" ))
4851 except simpleeval .NameNotDefined :
4952 # This is caused by an upstream bug when there is no policy loaded
5053 # Should be resolved in pycasbin >= 0.3
5154 pass
5255
53- adapter .add_policy (sec = None , ptype = 'p' , rule = [' alice' , ' data1' , ' read' ])
54- adapter .add_policy (sec = None , ptype = 'p' , rule = [' bob' , ' data2' , ' write' ])
55- adapter .add_policy (sec = None , ptype = 'p' , rule = [' data2_admin' , ' data2' , ' read' ])
56- adapter .add_policy (sec = None , ptype = 'p' , rule = [' data2_admin' , ' data2' , ' write' ])
57- adapter .add_policy (sec = None , ptype = 'g' , rule = [' alice' , ' data2_admin' ])
56+ adapter .add_policy (sec = None , ptype = "p" , rule = [" alice" , " data1" , " read" ])
57+ adapter .add_policy (sec = None , ptype = "p" , rule = [" bob" , " data2" , " write" ])
58+ adapter .add_policy (sec = None , ptype = "p" , rule = [" data2_admin" , " data2" , " read" ])
59+ adapter .add_policy (sec = None , ptype = "p" , rule = [" data2_admin" , " data2" , " write" ])
60+ adapter .add_policy (sec = None , ptype = "g" , rule = [" alice" , " data2_admin" ])
5861
5962 e .load_policy ()
6063
61- self .assertTrue (e .enforce (' alice' , ' data1' , ' read' ))
62- self .assertFalse (e .enforce (' bob' , ' data1' , ' read' ))
63- self .assertTrue (e .enforce (' bob' , ' data2' , ' write' ))
64- self .assertTrue (e .enforce (' alice' , ' data2' , ' read' ))
65- self .assertTrue (e .enforce (' alice' , ' data2' , ' write' ))
66- self .assertFalse (e .enforce (' bogus' , ' data2' , ' write' ))
64+ self .assertTrue (e .enforce (" alice" , " data1" , " read" ))
65+ self .assertFalse (e .enforce (" bob" , " data1" , " read" ))
66+ self .assertTrue (e .enforce (" bob" , " data2" , " write" ))
67+ self .assertTrue (e .enforce (" alice" , " data2" , " read" ))
68+ self .assertTrue (e .enforce (" alice" , " data2" , " write" ))
69+ self .assertFalse (e .enforce (" bogus" , " data2" , " write" ))
6770
6871 def test_save_policy (self ):
69- model = casbin .Enforcer (get_fixture (' rbac_model.conf' ), get_fixture (' rbac_policy.csv' )).model
72+ model = casbin .Enforcer (get_fixture (" rbac_model.conf" ), get_fixture (" rbac_policy.csv" )).model
7073 adapter = Adapter ()
7174 adapter .save_policy (model )
72- e = casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
75+ e = casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
7376
74- self .assertTrue (e .enforce (' alice' , ' data1' , ' read' ))
75- self .assertFalse (e .enforce (' bob' , ' data1' , ' read' ))
76- self .assertTrue (e .enforce (' bob' , ' data2' , ' write' ))
77- self .assertTrue (e .enforce (' alice' , ' data2' , ' read' ))
78- self .assertTrue (e .enforce (' alice' , ' data2' , ' write' ))
77+ self .assertTrue (e .enforce (" alice" , " data1" , " read" ))
78+ self .assertFalse (e .enforce (" bob" , " data1" , " read" ))
79+ self .assertTrue (e .enforce (" bob" , " data2" , " write" ))
80+ self .assertTrue (e .enforce (" alice" , " data2" , " read" ))
81+ self .assertTrue (e .enforce (" alice" , " data2" , " write" ))
7982
8083 def test_autosave_off_doesnt_persist_to_db (self ):
8184 adapter = Adapter ()
82- e = casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
85+ e = casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
8386
8487 e .enable_auto_save (False )
85- e .add_policy (' alice' , ' data1' , ' write' )
88+ e .add_policy (" alice" , " data1" , " write" )
8689 e .load_policy ()
8790 policies = e .get_policy ()
8891 self .assertListEqual (policies , [])
8992
9093 def test_autosave_on_persists_to_db (self ):
9194 adapter = Adapter ()
92- e = casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
95+ e = casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
9396
9497 e .enable_auto_save (True )
95- e .add_policy (' alice' , ' data1' , ' write' )
98+ e .add_policy (" alice" , " data1" , " write" )
9699 e .load_policy ()
97100 policies = e .get_policy ()
98- self .assertListEqual (policies , [[' alice' , ' data1' , ' write' ]])
101+ self .assertListEqual (policies , [[" alice" , " data1" , " write" ]])
99102
100103 def test_autosave_on_persists_remove_action_to_db (self ):
101104 adapter = Adapter ()
102- e = casbin .Enforcer (get_fixture (' rbac_model.conf' ), adapter )
103- e .add_policy (' alice' , ' data1' , ' write' )
105+ e = casbin .Enforcer (get_fixture (" rbac_model.conf" ), adapter )
106+ e .add_policy (" alice" , " data1" , " write" )
104107 e .load_policy ()
105- self .assertListEqual (e .get_policy (), [[' alice' , ' data1' , ' write' ]])
108+ self .assertListEqual (e .get_policy (), [[" alice" , " data1" , " write" ]])
106109
107110 e .enable_auto_save (True )
108- e .remove_policy (' alice' , ' data1' , ' write' )
111+ e .remove_policy (" alice" , " data1" , " write" )
109112 e .load_policy ()
110113 self .assertListEqual (e .get_policy (), [])
111114
112115 def test_remove_filtered_policy (self ):
113116 e = get_enforcer ()
114117
115- e .remove_filtered_policy (0 , ' data2_admin' )
118+ e .remove_filtered_policy (0 , " data2_admin" )
116119 e .load_policy ()
117- self .assertListEqual (e .get_policy (), [['alice' , 'data1' , 'read' ], ['bob' , 'data2' , 'write' ]])
118-
120+ self .assertListEqual (e .get_policy (), [["alice" , "data1" , "read" ], ["bob" , "data2" , "write" ]])
119121
120122 def test_str (self ):
121- rule = CasbinRule (ptype = 'p' , v0 = ' alice' , v1 = ' data1' , v2 = ' read' )
122- self .assertEqual (str (rule ), ' p, alice, data1, read' )
123+ rule = CasbinRule (ptype = "p" , v0 = " alice" , v1 = " data1" , v2 = " read" )
124+ self .assertEqual (str (rule ), " p, alice, data1, read" )
123125
124126 def test_repr (self ):
125- rule = CasbinRule (ptype = 'p' , v0 = ' alice' , v1 = ' data1' , v2 = ' read' )
127+ rule = CasbinRule (ptype = "p" , v0 = " alice" , v1 = " data1" , v2 = " read" )
126128 self .assertEqual (repr (rule ), '<CasbinRule None: "p, alice, data1, read">' )
127129 rule .save ()
128130 self .assertRegex (repr (rule ), r'<CasbinRule \d+: "p, alice, data1, read">' )
0 commit comments