oldaplib 0.3.30__py3-none-any.whl → 0.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- oldaplib/ontologies/admin-testing.trig +62 -11
- oldaplib/ontologies/admin.trig +12 -51
- oldaplib/ontologies/gaga.trigs +23 -0
- oldaplib/ontologies/oldap.trig +138 -62
- oldaplib/src/connection.py +39 -34
- oldaplib/src/enums/adminpermissions.py +1 -1
- oldaplib/src/enums/datapermissions.py +24 -4
- oldaplib/src/enums/{permissionsetattr.py → roleattr.py} +2 -3
- oldaplib/src/enums/userattr.py +3 -2
- oldaplib/src/helpers/observable_dict.py +1 -0
- oldaplib/src/in_project.py +0 -1
- oldaplib/src/objectfactory.py +349 -104
- oldaplib/src/propertyclass.py +1 -1
- oldaplib/src/{permissionset.py → role.py} +90 -112
- oldaplib/src/user.py +183 -97
- oldaplib/src/userdataclass.py +67 -38
- oldaplib/src/version.py +1 -1
- oldaplib/test/test_datamodel.py +5 -2
- oldaplib/test/test_in_project.py +21 -20
- oldaplib/test/test_objectfactory.py +100 -34
- oldaplib/test/test_resourceclass.py +3 -3
- oldaplib/test/test_role.py +407 -0
- oldaplib/test/test_user.py +159 -98
- oldaplib/testdata/instances_test.trig +48 -26
- {oldaplib-0.3.30.dist-info → oldaplib-0.4.1.dist-info}/METADATA +1 -1
- {oldaplib-0.3.30.dist-info → oldaplib-0.4.1.dist-info}/RECORD +27 -26
- oldaplib/test/test_permissionset.py +0 -443
- {oldaplib-0.3.30.dist-info → oldaplib-0.4.1.dist-info}/WHEEL +0 -0
oldaplib/test/test_user.py
CHANGED
|
@@ -6,6 +6,7 @@ from time import sleep
|
|
|
6
6
|
|
|
7
7
|
from oldaplib.src.cachesingleton import CacheSingletonRedis
|
|
8
8
|
from oldaplib.src.connection import Connection
|
|
9
|
+
from oldaplib.src.enums.datapermissions import DataPermission
|
|
9
10
|
from oldaplib.src.enums.userattr import UserAttr
|
|
10
11
|
from oldaplib.src.helpers.context import Context
|
|
11
12
|
from oldaplib.src.helpers.observable_set import ObservableSet
|
|
@@ -89,7 +90,7 @@ class TestUser(unittest.TestCase):
|
|
|
89
90
|
email="a.b@test.com",
|
|
90
91
|
credentials="Ein@geheimes&Passw0rt",
|
|
91
92
|
inProject={Iri('oldap:HyperHamlet'): {}},
|
|
92
|
-
|
|
93
|
+
hasRole={})
|
|
93
94
|
|
|
94
95
|
|
|
95
96
|
user = User(con=self._connection,
|
|
@@ -101,7 +102,7 @@ class TestUser(unittest.TestCase):
|
|
|
101
102
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
102
103
|
AdminPermission.ADMIN_RESOURCES,
|
|
103
104
|
AdminPermission.ADMIN_CREATE}},
|
|
104
|
-
|
|
105
|
+
hasRole={Xsd_QName('oldap:Unknown'): None})
|
|
105
106
|
|
|
106
107
|
self.assertEqual(user.userId, Xsd_NCName("testuser"))
|
|
107
108
|
self.assertEqual(user.familyName, "Test")
|
|
@@ -112,7 +113,20 @@ class TestUser(unittest.TestCase):
|
|
|
112
113
|
AdminPermission.ADMIN_RESOURCES,
|
|
113
114
|
AdminPermission.ADMIN_CREATE
|
|
114
115
|
}}))
|
|
115
|
-
self.assertEqual(user.
|
|
116
|
+
self.assertEqual(user.hasRole, {Xsd_QName('oldap:Unknown'): None})
|
|
117
|
+
|
|
118
|
+
user = User(con=self._connection,
|
|
119
|
+
userId=Xsd_NCName("testuser2"),
|
|
120
|
+
familyName="Test2",
|
|
121
|
+
givenName="Test2",
|
|
122
|
+
email="a.b2@test.com",
|
|
123
|
+
credentials="Ein@geheimes&Passw0rt2",
|
|
124
|
+
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
125
|
+
AdminPermission.ADMIN_RESOURCES,
|
|
126
|
+
AdminPermission.ADMIN_CREATE}},
|
|
127
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
128
|
+
self.assertEqual(user.hasRole, {Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
129
|
+
|
|
116
130
|
|
|
117
131
|
def test_user_deepcopy(self):
|
|
118
132
|
user = User(con=self._connection,
|
|
@@ -124,7 +138,7 @@ class TestUser(unittest.TestCase):
|
|
|
124
138
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
125
139
|
AdminPermission.ADMIN_RESOURCES,
|
|
126
140
|
AdminPermission.ADMIN_CREATE}},
|
|
127
|
-
|
|
141
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_VIEW})
|
|
128
142
|
user2 = deepcopy(user)
|
|
129
143
|
self.assertFalse(user is user2)
|
|
130
144
|
self.assertEqual(user.userId, user2.userId)
|
|
@@ -134,10 +148,10 @@ class TestUser(unittest.TestCase):
|
|
|
134
148
|
self.assertEqual(user.email, user2.email)
|
|
135
149
|
self.assertEqual(user.credentials, user2.credentials)
|
|
136
150
|
self.assertEqual(user.inProject[Iri('oldap:HyperHamlet')], user2.inProject[Iri('oldap:HyperHamlet')])
|
|
137
|
-
self.assertEqual(user.
|
|
151
|
+
self.assertEqual(user.hasRole, user2.hasRole)
|
|
138
152
|
|
|
139
153
|
# @unittest.skip('Work in progress')
|
|
140
|
-
def
|
|
154
|
+
def test_read_user_from_id_A(self):
|
|
141
155
|
user = User.read(con=self._connection, userId="rosenth", ignore_cache=True)
|
|
142
156
|
self.assertEqual(user.userId, Xsd_NCName("rosenth"))
|
|
143
157
|
self.assertEqual(user.userIri, Iri("https://orcid.org/0000-0003-1681-4036"))
|
|
@@ -146,14 +160,30 @@ class TestUser(unittest.TestCase):
|
|
|
146
160
|
self.assertEqual(user.email, Xsd_string("lukas.rosenthaler@unibas.ch"))
|
|
147
161
|
self.assertEqual(user.inProject, InProjectClass({
|
|
148
162
|
Iri("oldap:SystemProject"): {AdminPermission.ADMIN_OLDAP},
|
|
149
|
-
Iri("oldap:SharedProject"): {AdminPermission.
|
|
163
|
+
Iri("oldap:SharedProject"): {AdminPermission.ADMIN_OLDAP},
|
|
150
164
|
Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES},
|
|
151
165
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {
|
|
152
166
|
AdminPermission.ADMIN_CREATE, AdminPermission.ADMIN_LISTS, AdminPermission.ADMIN_MODEL,
|
|
153
|
-
AdminPermission.
|
|
167
|
+
AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
|
|
154
168
|
AdminPermission.ADMIN_USERS}
|
|
155
169
|
}))
|
|
156
|
-
self.assertEqual(user.
|
|
170
|
+
self.assertEqual(user.hasRole, {Xsd_QName("oldap:Unknown"): DataPermission.DATA_PERMISSIONS,
|
|
171
|
+
Xsd_QName("hyha:HyperHamletMember"): DataPermission.DATA_PERMISSIONS,
|
|
172
|
+
Xsd_QName("britnet:BritnetEditor"): DataPermission.DATA_DELETE})
|
|
173
|
+
|
|
174
|
+
def test_read_user_from_id_B(self):
|
|
175
|
+
user = User.read(con=self._connection, userId="habermann", ignore_cache=True)
|
|
176
|
+
self.assertEqual(user.userId, Xsd_NCName("habermann"))
|
|
177
|
+
self.assertEqual(user.userIri, Iri("https://orcid.org/0000-0002-7403-9595"))
|
|
178
|
+
self.assertEqual(user.familyName, Xsd_string("Habermann"))
|
|
179
|
+
self.assertEqual(user.givenName, Xsd_string("Ina"))
|
|
180
|
+
self.assertEqual(user.email, Xsd_string("ina.habermann@unibas.ch"))
|
|
181
|
+
self.assertEqual(user.inProject, InProjectClass({
|
|
182
|
+
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_RESOURCES}
|
|
183
|
+
}))
|
|
184
|
+
self.assertEqual(user.hasRole, {Xsd_QName("oldap:Unknown"): DataPermission.DATA_VIEW,
|
|
185
|
+
Xsd_QName("hyha:HyperHamletMember"): DataPermission.DATA_UPDATE,
|
|
186
|
+
Xsd_QName("britnet:BritnetEditor"): DataPermission.DATA_UPDATE})
|
|
157
187
|
|
|
158
188
|
def test_read_user_from_iri(self):
|
|
159
189
|
user = User.read(con=self._connection, userId=Iri("https://orcid.org/0000-0003-1681-4036"), ignore_cache=True)
|
|
@@ -164,14 +194,16 @@ class TestUser(unittest.TestCase):
|
|
|
164
194
|
self.assertEqual(user.email, Xsd_string("lukas.rosenthaler@unibas.ch"))
|
|
165
195
|
self.assertEqual(user.inProject, InProjectClass({
|
|
166
196
|
Iri("oldap:SystemProject"): {AdminPermission.ADMIN_OLDAP},
|
|
197
|
+
Iri("oldap:SharedProject"): {AdminPermission.ADMIN_OLDAP},
|
|
167
198
|
Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES},
|
|
168
|
-
Iri('oldap:SharedProject'): {AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_MODEL, AdminPermission.ADMIN_LISTS},
|
|
169
199
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {
|
|
170
200
|
AdminPermission.ADMIN_CREATE, AdminPermission.ADMIN_LISTS, AdminPermission.ADMIN_MODEL,
|
|
171
|
-
AdminPermission.
|
|
201
|
+
AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
|
|
172
202
|
AdminPermission.ADMIN_USERS}
|
|
173
203
|
}))
|
|
174
|
-
self.assertEqual(user.
|
|
204
|
+
self.assertEqual(user.hasRole, {Xsd_QName("oldap:Unknown"): DataPermission.DATA_PERMISSIONS,
|
|
205
|
+
Xsd_QName("hyha:HyperHamletMember"): DataPermission.DATA_PERMISSIONS,
|
|
206
|
+
Xsd_QName("britnet:BritnetEditor"): DataPermission.DATA_DELETE})
|
|
175
207
|
|
|
176
208
|
# #unittest.skip('Work in progress')
|
|
177
209
|
def test_read_unknown_user(self):
|
|
@@ -206,19 +238,21 @@ class TestUser(unittest.TestCase):
|
|
|
206
238
|
|
|
207
239
|
self.assertEqual(user2.inProject, InProjectClass({
|
|
208
240
|
Iri("oldap:SystemProject"): {AdminPermission.ADMIN_OLDAP},
|
|
209
|
-
Iri(
|
|
241
|
+
Iri("oldap:SharedProject"): {AdminPermission.ADMIN_OLDAP},
|
|
210
242
|
Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES},
|
|
211
243
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {
|
|
212
244
|
AdminPermission.ADMIN_CREATE, AdminPermission.ADMIN_LISTS, AdminPermission.ADMIN_MODEL,
|
|
213
|
-
AdminPermission.
|
|
245
|
+
AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
|
|
214
246
|
AdminPermission.ADMIN_USERS}
|
|
215
247
|
}))
|
|
216
248
|
self.assertEqual(user.inProject, user2.inProject)
|
|
217
249
|
self.assertFalse(user.inProject is user2.inProject)
|
|
218
250
|
|
|
219
|
-
self.assertEqual(user2.
|
|
220
|
-
|
|
221
|
-
|
|
251
|
+
self.assertEqual(user2.hasRole, {Xsd_QName("oldap:Unknown"): DataPermission.DATA_PERMISSIONS,
|
|
252
|
+
Xsd_QName("hyha:HyperHamletMember"): DataPermission.DATA_PERMISSIONS,
|
|
253
|
+
Xsd_QName("britnet:BritnetEditor"): DataPermission.DATA_DELETE})
|
|
254
|
+
self.assertEqual(user.hasRole, user2.hasRole)
|
|
255
|
+
self.assertFalse(user.hasRole is user2.hasRole)
|
|
222
256
|
|
|
223
257
|
user3 = User.read(con=self._connection, userId=Iri("https://orcid.org/0000-0003-1681-4036"))
|
|
224
258
|
self.assertFalse(user3 is user)
|
|
@@ -245,19 +279,21 @@ class TestUser(unittest.TestCase):
|
|
|
245
279
|
|
|
246
280
|
self.assertEqual(user3.inProject, InProjectClass({
|
|
247
281
|
Iri("oldap:SystemProject"): {AdminPermission.ADMIN_OLDAP},
|
|
248
|
-
Iri(
|
|
282
|
+
Iri("oldap:SharedProject"): {AdminPermission.ADMIN_OLDAP},
|
|
249
283
|
Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES},
|
|
250
284
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {
|
|
251
285
|
AdminPermission.ADMIN_CREATE, AdminPermission.ADMIN_LISTS, AdminPermission.ADMIN_MODEL,
|
|
252
|
-
AdminPermission.
|
|
286
|
+
AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
|
|
253
287
|
AdminPermission.ADMIN_USERS}
|
|
254
288
|
}))
|
|
255
289
|
self.assertEqual(user.inProject, user3.inProject)
|
|
256
290
|
self.assertFalse(user.inProject is user3.inProject)
|
|
257
291
|
|
|
258
|
-
self.assertEqual(user3.
|
|
259
|
-
|
|
260
|
-
|
|
292
|
+
self.assertEqual(user3.hasRole, {Xsd_QName("oldap:Unknown"): DataPermission.DATA_PERMISSIONS,
|
|
293
|
+
Xsd_QName("hyha:HyperHamletMember"): DataPermission.DATA_PERMISSIONS,
|
|
294
|
+
Xsd_QName("britnet:BritnetEditor"): DataPermission.DATA_DELETE})
|
|
295
|
+
self.assertEqual(user.hasRole, user3.hasRole)
|
|
296
|
+
self.assertFalse(user.hasRole is user3.hasRole)
|
|
261
297
|
|
|
262
298
|
|
|
263
299
|
# #unittest.skip('Work in progress')
|
|
@@ -321,7 +357,7 @@ class TestUser(unittest.TestCase):
|
|
|
321
357
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
322
358
|
AdminPermission.ADMIN_RESOURCES,
|
|
323
359
|
AdminPermission.ADMIN_CREATE}},
|
|
324
|
-
|
|
360
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_VIEW,},
|
|
325
361
|
isActive=True)
|
|
326
362
|
user.create()
|
|
327
363
|
self.assertIsNotNone(user.created)
|
|
@@ -335,7 +371,7 @@ class TestUser(unittest.TestCase):
|
|
|
335
371
|
self.assertEqual(user2.givenName, user.givenName)
|
|
336
372
|
self.assertEqual(user2.email, user.email)
|
|
337
373
|
self.assertEqual(user2.inProject, user.inProject)
|
|
338
|
-
self.assertEqual(user2.
|
|
374
|
+
self.assertEqual(user2.hasRole, user.hasRole)
|
|
339
375
|
self.assertTrue(user2.isActive)
|
|
340
376
|
|
|
341
377
|
# #unittest.skip('Work in progress')
|
|
@@ -348,12 +384,13 @@ class TestUser(unittest.TestCase):
|
|
|
348
384
|
email="tweety.birdy@looneytunes.com",
|
|
349
385
|
credentials="Sylvester",
|
|
350
386
|
inProject={Iri('oldap:HyperHamlet'): set()},
|
|
351
|
-
|
|
387
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW},
|
|
352
388
|
isActive=True)
|
|
353
389
|
user.create()
|
|
354
390
|
del user
|
|
355
391
|
user = User.read(con=self._connection, userId=Xsd_NCName("birdy"), ignore_cache=True)
|
|
356
392
|
self.assertEqual(user.familyName, "Birdy")
|
|
393
|
+
self.assertEqual(user.hasRole, {Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
357
394
|
|
|
358
395
|
# #unittest.skip('Work in progress')
|
|
359
396
|
def test_create_user_no_in_project(self):
|
|
@@ -364,7 +401,7 @@ class TestUser(unittest.TestCase):
|
|
|
364
401
|
givenName="Yogi",
|
|
365
402
|
email="yogi.baer@yellowstone.gov",
|
|
366
403
|
credentials="BuBu",
|
|
367
|
-
|
|
404
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_VIEW},
|
|
368
405
|
isActive=True)
|
|
369
406
|
user.create()
|
|
370
407
|
del user
|
|
@@ -403,7 +440,7 @@ class TestUser(unittest.TestCase):
|
|
|
403
440
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
404
441
|
AdminPermission.ADMIN_RESOURCES,
|
|
405
442
|
AdminPermission.ADMIN_CREATE}},
|
|
406
|
-
|
|
443
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW},
|
|
407
444
|
isActive=False)
|
|
408
445
|
user.create()
|
|
409
446
|
del user
|
|
@@ -421,10 +458,9 @@ class TestUser(unittest.TestCase):
|
|
|
421
458
|
givenName="Petri",
|
|
422
459
|
email="petri.difornaro@italia.it",
|
|
423
460
|
credentials="Genius",
|
|
424
|
-
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.
|
|
425
|
-
AdminPermission.ADMIN_RESOURCES,
|
|
461
|
+
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES,
|
|
426
462
|
AdminPermission.ADMIN_CREATE}},
|
|
427
|
-
|
|
463
|
+
hasRole={Iri('oldap:Role'): DataPermission.DATA_VIEW})
|
|
428
464
|
with self.assertRaises(OldapErrorAlreadyExists) as ex:
|
|
429
465
|
user.create()
|
|
430
466
|
self.assertEqual(str(ex.exception), 'A user with a user ID "fornaro" already exists')
|
|
@@ -442,7 +478,7 @@ class TestUser(unittest.TestCase):
|
|
|
442
478
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
443
479
|
AdminPermission.ADMIN_RESOURCES,
|
|
444
480
|
AdminPermission.ADMIN_CREATE}},
|
|
445
|
-
|
|
481
|
+
hasRole={Iri('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
446
482
|
with self.assertRaises(OldapErrorAlreadyExists) as ex:
|
|
447
483
|
user.create()
|
|
448
484
|
self.assertEqual(str(ex.exception), 'A user with a user IRI "https://orcid.org/0000-0003-1681-4036" already exists')
|
|
@@ -459,13 +495,13 @@ class TestUser(unittest.TestCase):
|
|
|
459
495
|
inProject={Iri('oldap:NotExistingproject'): {AdminPermission.ADMIN_USERS,
|
|
460
496
|
AdminPermission.ADMIN_RESOURCES,
|
|
461
497
|
AdminPermission.ADMIN_CREATE}},
|
|
462
|
-
|
|
498
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_VIEW})
|
|
463
499
|
with self.assertRaises(OldapErrorValue) as ex:
|
|
464
500
|
user.create()
|
|
465
501
|
self.assertEqual(str(ex.exception), 'One of the projects is not existing!')
|
|
466
502
|
|
|
467
503
|
# #unittest.skip('Work in progress')
|
|
468
|
-
def
|
|
504
|
+
def test_create_user_invalid_role(self):
|
|
469
505
|
"""Test that user creation will fail if we give an invalid permission set"""
|
|
470
506
|
user = User(con=self._connection,
|
|
471
507
|
userId=Xsd_NCName("donald"),
|
|
@@ -476,10 +512,10 @@ class TestUser(unittest.TestCase):
|
|
|
476
512
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
477
513
|
AdminPermission.ADMIN_RESOURCES,
|
|
478
514
|
AdminPermission.ADMIN_CREATE}},
|
|
479
|
-
|
|
515
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_VIEW,
|
|
516
|
+
Xsd_QName('oldap:Gaga'): DataPermission.DATA_DELETE})
|
|
480
517
|
with self.assertRaises(OldapErrorValue) as ex:
|
|
481
518
|
user.create()
|
|
482
|
-
self.assertEqual(str(ex.exception), 'One of the permission sets is not existing!')
|
|
483
519
|
|
|
484
520
|
# #unittest.skip('Work in progress')
|
|
485
521
|
def test_create_user_no_privilege(self):
|
|
@@ -491,7 +527,7 @@ class TestUser(unittest.TestCase):
|
|
|
491
527
|
email="donald.duck@duckville.com",
|
|
492
528
|
credentials="Entenhausen@for&Ever",
|
|
493
529
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_CREATE}},
|
|
494
|
-
|
|
530
|
+
hasRole={Iri('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
495
531
|
with self.assertRaises(OldapErrorNoPermission) as ex:
|
|
496
532
|
user.create()
|
|
497
533
|
self.assertEqual('Actor has no ADMIN_USERS permission for project oldap:HyperHamlet', str(ex.exception), )
|
|
@@ -509,7 +545,7 @@ class TestUser(unittest.TestCase):
|
|
|
509
545
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
510
546
|
AdminPermission.ADMIN_RESOURCES,
|
|
511
547
|
AdminPermission.ADMIN_CREATE}},
|
|
512
|
-
|
|
548
|
+
hasRole={Iri('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
513
549
|
user.create()
|
|
514
550
|
user2 = User.read(con=self._connection, userId="edison", ignore_cache=True)
|
|
515
551
|
self.assertEqual(user2.userIri, user.userIri)
|
|
@@ -539,10 +575,12 @@ class TestUser(unittest.TestCase):
|
|
|
539
575
|
AdminPermission.ADMIN_CREATE}})
|
|
540
576
|
user.create()
|
|
541
577
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
542
|
-
user.
|
|
578
|
+
user.hasRole = {Xsd_QName('oldap:Unknown'): DataPermission.DATA_VIEW,
|
|
579
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED}
|
|
543
580
|
user.update()
|
|
544
581
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
545
|
-
self.assertEqual(user.
|
|
582
|
+
self.assertEqual(user.hasRole, {Xsd_QName('oldap:Unknown'): DataPermission.DATA_VIEW,
|
|
583
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
546
584
|
|
|
547
585
|
def test_update_user_permission_delete(self):
|
|
548
586
|
user = User(con=self._connection,
|
|
@@ -555,13 +593,19 @@ class TestUser(unittest.TestCase):
|
|
|
555
593
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
556
594
|
AdminPermission.ADMIN_RESOURCES,
|
|
557
595
|
AdminPermission.ADMIN_CREATE}},
|
|
558
|
-
|
|
596
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_PERMISSIONS})
|
|
559
597
|
user.create()
|
|
560
598
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
561
|
-
del user.
|
|
599
|
+
del user.hasRole
|
|
562
600
|
user.update()
|
|
563
601
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
564
|
-
self.assertIsNone(user.
|
|
602
|
+
self.assertIsNone(user.hasRole)
|
|
603
|
+
|
|
604
|
+
def test_update_user_role_of_existing(self):
|
|
605
|
+
user = User.read(self._connection, "rosenth")
|
|
606
|
+
user.hasRole[Xsd_QName('oldap:Unknown')] = DataPermission.DATA_UPDATE
|
|
607
|
+
user.update()
|
|
608
|
+
|
|
565
609
|
|
|
566
610
|
def test_update_user_permission_set_empty(self):
|
|
567
611
|
user = User(con=self._connection,
|
|
@@ -574,13 +618,13 @@ class TestUser(unittest.TestCase):
|
|
|
574
618
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
575
619
|
AdminPermission.ADMIN_RESOURCES,
|
|
576
620
|
AdminPermission.ADMIN_CREATE}},
|
|
577
|
-
|
|
621
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
578
622
|
user.create()
|
|
579
623
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
580
|
-
user.
|
|
624
|
+
user.hasRole = []
|
|
581
625
|
user.update()
|
|
582
626
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
583
|
-
self.assertIsNone(user.
|
|
627
|
+
self.assertIsNone(user.hasRole)
|
|
584
628
|
|
|
585
629
|
def test_update_user_permission_set_None(self):
|
|
586
630
|
user = User(con=self._connection,
|
|
@@ -593,13 +637,13 @@ class TestUser(unittest.TestCase):
|
|
|
593
637
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
594
638
|
AdminPermission.ADMIN_RESOURCES,
|
|
595
639
|
AdminPermission.ADMIN_CREATE}},
|
|
596
|
-
|
|
640
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
597
641
|
user.create()
|
|
598
642
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
599
|
-
user.
|
|
643
|
+
user.hasRole = None
|
|
600
644
|
user.update()
|
|
601
645
|
user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
|
|
602
|
-
self.assertIsNone(user.
|
|
646
|
+
self.assertIsNone(user.hasRole)
|
|
603
647
|
|
|
604
648
|
def test_update_user_permissions_update_A(self):
|
|
605
649
|
user = User(con=self._connection,
|
|
@@ -612,13 +656,14 @@ class TestUser(unittest.TestCase):
|
|
|
612
656
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
613
657
|
AdminPermission.ADMIN_RESOURCES,
|
|
614
658
|
AdminPermission.ADMIN_CREATE}},
|
|
615
|
-
|
|
659
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW})
|
|
616
660
|
user.create()
|
|
617
661
|
user = User.read(con=self._connection, userId="faraday", ignore_cache=True)
|
|
618
|
-
user.
|
|
662
|
+
user.hasRole[Xsd_QName('oldap:Unknown')] = DataPermission.DATA_RESTRICTED
|
|
619
663
|
user.update()
|
|
620
664
|
user = User.read(con=self._connection, userId="faraday", ignore_cache=True)
|
|
621
|
-
self.assertEqual(user.
|
|
665
|
+
self.assertEqual(user.hasRole, {Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_VIEW,
|
|
666
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
622
667
|
|
|
623
668
|
def test_update_user_permissions_update_B(self):
|
|
624
669
|
user = User(con=self._connection,
|
|
@@ -631,13 +676,14 @@ class TestUser(unittest.TestCase):
|
|
|
631
676
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
632
677
|
AdminPermission.ADMIN_RESOURCES,
|
|
633
678
|
AdminPermission.ADMIN_CREATE}},
|
|
634
|
-
|
|
679
|
+
hasRole={Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE,
|
|
680
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
635
681
|
user.create()
|
|
636
682
|
user = User.read(con=self._connection, userId="fourier", ignore_cache=True)
|
|
637
|
-
user.
|
|
683
|
+
del user.hasRole[Xsd_QName('hyha:HyperHamletMember')]
|
|
638
684
|
user.update()
|
|
639
685
|
user = User.read(con=self._connection, userId="fourier", ignore_cache=True)
|
|
640
|
-
self.assertEqual(user.
|
|
686
|
+
self.assertEqual(user.hasRole, {Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
641
687
|
|
|
642
688
|
# #unittest.skip('Work in progress')
|
|
643
689
|
def test_update_user(self):
|
|
@@ -651,17 +697,18 @@ class TestUser(unittest.TestCase):
|
|
|
651
697
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
652
698
|
AdminPermission.ADMIN_RESOURCES,
|
|
653
699
|
AdminPermission.ADMIN_CREATE}},
|
|
654
|
-
|
|
700
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
655
701
|
user.create()
|
|
702
|
+
|
|
656
703
|
user2 = User.read(con=self._connection, userId="edison", ignore_cache=True)
|
|
657
704
|
user2.userId = "aedison"
|
|
658
705
|
user2.familyName = "Edison et al."
|
|
659
706
|
user2.givenName = "Thomas"
|
|
660
707
|
user2.email = "th.edison@audiorec.com"
|
|
661
708
|
|
|
662
|
-
user2.
|
|
663
|
-
user2.
|
|
664
|
-
user2.
|
|
709
|
+
user2.hasRole[Xsd_QName('britnet:BritnetEditor')] = DataPermission.DATA_UPDATE
|
|
710
|
+
user2.hasRole[Xsd_QName('hyha:HyperHamletMember')] = DataPermission.DATA_DELETE
|
|
711
|
+
del user2.hasRole[Xsd_QName('oldap:Unknown')]
|
|
665
712
|
user2.inProject[Iri('oldap:SystemProject')] = {AdminPermission.ADMIN_USERS, AdminPermission.ADMIN_RESOURCES}
|
|
666
713
|
user2.inProject[Iri('oldap:HyperHamlet')].remove(AdminPermission.ADMIN_USERS)
|
|
667
714
|
user2.inProject[Iri('oldap:HyperHamlet')].add(AdminPermission.ADMIN_LISTS)
|
|
@@ -670,11 +717,12 @@ class TestUser(unittest.TestCase):
|
|
|
670
717
|
self.assertEqual(user3.familyName, "Edison et al.")
|
|
671
718
|
self.assertEqual(user3.givenName, "Thomas")
|
|
672
719
|
self.assertEqual(user3.email, "th.edison@audiorec.com")
|
|
673
|
-
self.assertEqual({
|
|
674
|
-
|
|
720
|
+
self.assertEqual({Xsd_QName('britnet:BritnetEditor'): DataPermission.DATA_UPDATE,
|
|
721
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_DELETE}, user3.hasRole)
|
|
722
|
+
user3.hasRole[Xsd_QName('oldap:DoesNotExist')] = DataPermission.DATA_VIEW
|
|
675
723
|
with self.assertRaises(OldapErrorValue) as ex:
|
|
676
724
|
user3.update()
|
|
677
|
-
|
|
725
|
+
self.assertEqual(str(ex.exception), 'One of the permission sets is not existing!')
|
|
678
726
|
|
|
679
727
|
self.assertEqual(user3.inProject[Iri('oldap:HyperHamlet')], {AdminPermission.ADMIN_RESOURCES,
|
|
680
728
|
AdminPermission.ADMIN_CREATE,
|
|
@@ -700,7 +748,7 @@ class TestUser(unittest.TestCase):
|
|
|
700
748
|
givenName="Nikolai",
|
|
701
749
|
email="nikolai.tesla@tesla.com",
|
|
702
750
|
credentials="Alternative current",
|
|
703
|
-
|
|
751
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
704
752
|
user.create()
|
|
705
753
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
706
754
|
user.inProject = InProjectClass({Iri('http://www.salsah.org/version/2.0/SwissBritNet'): ObservableSet({AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE})})
|
|
@@ -718,7 +766,7 @@ class TestUser(unittest.TestCase):
|
|
|
718
766
|
credentials="Alternative current",
|
|
719
767
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
720
768
|
AdminPermission.ADMIN_RESOURCES}},
|
|
721
|
-
|
|
769
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
722
770
|
user.create()
|
|
723
771
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
724
772
|
del user.inProject
|
|
@@ -736,7 +784,7 @@ class TestUser(unittest.TestCase):
|
|
|
736
784
|
credentials="Alternative current",
|
|
737
785
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
738
786
|
AdminPermission.ADMIN_RESOURCES}},
|
|
739
|
-
|
|
787
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
740
788
|
user.create()
|
|
741
789
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
742
790
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = {AdminPermission.ADMIN_RESOURCES}
|
|
@@ -756,7 +804,7 @@ class TestUser(unittest.TestCase):
|
|
|
756
804
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
757
805
|
AdminPermission.ADMIN_RESOURCES},
|
|
758
806
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
759
|
-
|
|
807
|
+
hasRole={Iri('britnet:BritnetEditor'): DataPermission.DATA_UPDATE,})
|
|
760
808
|
user.create()
|
|
761
809
|
user = User.read(con=self._connection, userId="volta", ignore_cache=True)
|
|
762
810
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')].add(AdminPermission.ADMIN_LISTS)
|
|
@@ -776,7 +824,7 @@ class TestUser(unittest.TestCase):
|
|
|
776
824
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
777
825
|
AdminPermission.ADMIN_RESOURCES},
|
|
778
826
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
779
|
-
|
|
827
|
+
hasRole={Iri('britnet:BritnetEditor'): DataPermission.DATA_UPDATE})
|
|
780
828
|
user.create()
|
|
781
829
|
user = User.read(con=self._connection, userId="voltaB", ignore_cache=True)
|
|
782
830
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = {AdminPermission.ADMIN_LISTS}
|
|
@@ -796,7 +844,7 @@ class TestUser(unittest.TestCase):
|
|
|
796
844
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
797
845
|
AdminPermission.ADMIN_RESOURCES},
|
|
798
846
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
799
|
-
|
|
847
|
+
hasRole={Iri('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
800
848
|
user.create()
|
|
801
849
|
user = User.read(con=self._connection, userId="curie", ignore_cache=True)
|
|
802
850
|
user.inProject[Iri('oldap:HyperHamlet')].discard(AdminPermission.ADMIN_RESOURCES)
|
|
@@ -815,7 +863,7 @@ class TestUser(unittest.TestCase):
|
|
|
815
863
|
credentials="Alternative current",
|
|
816
864
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
817
865
|
AdminPermission.ADMIN_RESOURCES}},
|
|
818
|
-
|
|
866
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
819
867
|
user.create()
|
|
820
868
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
821
869
|
user.inProject[Iri('oldap:HyperHamlet')].add(AdminPermission.ADMIN_CREATE)
|
|
@@ -834,7 +882,7 @@ class TestUser(unittest.TestCase):
|
|
|
834
882
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
835
883
|
AdminPermission.ADMIN_RESOURCES},
|
|
836
884
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
837
|
-
|
|
885
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
838
886
|
user.create()
|
|
839
887
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
840
888
|
del user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')]
|
|
@@ -852,7 +900,7 @@ class TestUser(unittest.TestCase):
|
|
|
852
900
|
credentials="Alternative current",
|
|
853
901
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
854
902
|
AdminPermission.ADMIN_RESOURCES}},
|
|
855
|
-
|
|
903
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
856
904
|
user.create()
|
|
857
905
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
858
906
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = set()
|
|
@@ -883,7 +931,7 @@ class TestUser(unittest.TestCase):
|
|
|
883
931
|
AdminPermission.ADMIN_USERS,
|
|
884
932
|
AdminPermission.ADMIN_RESOURCES,
|
|
885
933
|
AdminPermission.ADMIN_CREATE}},
|
|
886
|
-
|
|
934
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
887
935
|
user.create()
|
|
888
936
|
del user
|
|
889
937
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -902,7 +950,7 @@ class TestUser(unittest.TestCase):
|
|
|
902
950
|
givenName="Bart",
|
|
903
951
|
email="bart.simpson@springfield.com",
|
|
904
952
|
credentials="AtomicPower",
|
|
905
|
-
|
|
953
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
906
954
|
user.create()
|
|
907
955
|
del user
|
|
908
956
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -929,7 +977,7 @@ class TestUser(unittest.TestCase):
|
|
|
929
977
|
AdminPermission.ADMIN_USERS,
|
|
930
978
|
AdminPermission.ADMIN_RESOURCES,
|
|
931
979
|
AdminPermission.ADMIN_CREATE}},
|
|
932
|
-
|
|
980
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
933
981
|
user.create()
|
|
934
982
|
del user
|
|
935
983
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -952,7 +1000,7 @@ class TestUser(unittest.TestCase):
|
|
|
952
1000
|
AdminPermission.ADMIN_USERS,
|
|
953
1001
|
AdminPermission.ADMIN_RESOURCES,
|
|
954
1002
|
AdminPermission.ADMIN_CREATE}},
|
|
955
|
-
|
|
1003
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
956
1004
|
user.create()
|
|
957
1005
|
del user
|
|
958
1006
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -975,7 +1023,7 @@ class TestUser(unittest.TestCase):
|
|
|
975
1023
|
AdminPermission.ADMIN_USERS,
|
|
976
1024
|
AdminPermission.ADMIN_RESOURCES,
|
|
977
1025
|
AdminPermission.ADMIN_CREATE}},
|
|
978
|
-
|
|
1026
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
979
1027
|
user.create()
|
|
980
1028
|
del user
|
|
981
1029
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1007,7 +1055,7 @@ class TestUser(unittest.TestCase):
|
|
|
1007
1055
|
AdminPermission.ADMIN_USERS,
|
|
1008
1056
|
AdminPermission.ADMIN_RESOURCES,
|
|
1009
1057
|
AdminPermission.ADMIN_CREATE}},
|
|
1010
|
-
|
|
1058
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1011
1059
|
user.create()
|
|
1012
1060
|
del user
|
|
1013
1061
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1034,7 +1082,7 @@ class TestUser(unittest.TestCase):
|
|
|
1034
1082
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1035
1083
|
}
|
|
1036
1084
|
},
|
|
1037
|
-
|
|
1085
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1038
1086
|
user.create()
|
|
1039
1087
|
user = User.read(con=self._connection, userId="fred", ignore_cache=True)
|
|
1040
1088
|
del user.inProject[Iri('oldap:HyperHamlet')]
|
|
@@ -1065,7 +1113,7 @@ class TestUser(unittest.TestCase):
|
|
|
1065
1113
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1066
1114
|
}
|
|
1067
1115
|
},
|
|
1068
|
-
|
|
1116
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1069
1117
|
user.create()
|
|
1070
1118
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
1071
1119
|
user.inProject[Iri('oldap:HyperHamlet')] = None
|
|
@@ -1095,7 +1143,7 @@ class TestUser(unittest.TestCase):
|
|
|
1095
1143
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1096
1144
|
}
|
|
1097
1145
|
},
|
|
1098
|
-
|
|
1146
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1099
1147
|
user.create()
|
|
1100
1148
|
del user
|
|
1101
1149
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1124,15 +1172,15 @@ class TestUser(unittest.TestCase):
|
|
|
1124
1172
|
AdminPermission.ADMIN_USERS,
|
|
1125
1173
|
AdminPermission.ADMIN_RESOURCES,
|
|
1126
1174
|
AdminPermission.ADMIN_CREATE}},
|
|
1127
|
-
|
|
1175
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1128
1176
|
user.create()
|
|
1129
1177
|
del user
|
|
1130
1178
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1131
|
-
del user.
|
|
1179
|
+
del user.hasRole
|
|
1132
1180
|
user.update()
|
|
1133
1181
|
del user
|
|
1134
1182
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1135
|
-
self.assertFalse(user.
|
|
1183
|
+
self.assertFalse(user.hasRole)
|
|
1136
1184
|
|
|
1137
1185
|
# #unittest.skip('Work in progress')
|
|
1138
1186
|
def test_update_user_add_has_permissions(self):
|
|
@@ -1147,18 +1195,20 @@ class TestUser(unittest.TestCase):
|
|
|
1147
1195
|
AdminPermission.ADMIN_USERS,
|
|
1148
1196
|
AdminPermission.ADMIN_RESOURCES,
|
|
1149
1197
|
AdminPermission.ADMIN_CREATE}},
|
|
1150
|
-
|
|
1198
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_UPDATE})
|
|
1151
1199
|
user.create()
|
|
1152
1200
|
del user
|
|
1153
1201
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1154
|
-
user.
|
|
1202
|
+
user.hasRole[Xsd_QName('hyha:HyperHamletMember')] = DataPermission.DATA_UPDATE
|
|
1155
1203
|
user.update()
|
|
1156
1204
|
del user
|
|
1157
1205
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1158
|
-
self.assertEqual(user.
|
|
1206
|
+
self.assertEqual(user.hasRole, {
|
|
1207
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_UPDATE,
|
|
1208
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
1159
1209
|
|
|
1160
1210
|
# #unittest.skip('Work in progress')
|
|
1161
|
-
def
|
|
1211
|
+
def test_update_user_add_has_permissions_X(self):
|
|
1162
1212
|
user = User(con=self._connection,
|
|
1163
1213
|
userIri=Iri("https://orcid.org/0000-0001-5925-2956"),
|
|
1164
1214
|
userId=Xsd_NCName("chiquet"),
|
|
@@ -1173,11 +1223,15 @@ class TestUser(unittest.TestCase):
|
|
|
1173
1223
|
user.create()
|
|
1174
1224
|
del user
|
|
1175
1225
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1176
|
-
user.
|
|
1226
|
+
user.hasRole = {Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1227
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE}
|
|
1177
1228
|
user.update()
|
|
1178
1229
|
del user
|
|
1179
1230
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1180
|
-
self.assertEqual(user.
|
|
1231
|
+
self.assertEqual(user.hasRole, {
|
|
1232
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1233
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE
|
|
1234
|
+
})
|
|
1181
1235
|
|
|
1182
1236
|
# #unittest.skip('Work in progress')
|
|
1183
1237
|
def test_update_user_add_bad_has_permissions(self):
|
|
@@ -1195,7 +1249,8 @@ class TestUser(unittest.TestCase):
|
|
|
1195
1249
|
user.create()
|
|
1196
1250
|
del user
|
|
1197
1251
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1198
|
-
user.
|
|
1252
|
+
user.hasRole = {Xsd_QName('oldap:GAGA'): DataPermission.DATA_RESTRICTED,
|
|
1253
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE}
|
|
1199
1254
|
with self.assertRaises(OldapErrorValue) as err:
|
|
1200
1255
|
user.update()
|
|
1201
1256
|
|
|
@@ -1212,15 +1267,16 @@ class TestUser(unittest.TestCase):
|
|
|
1212
1267
|
AdminPermission.ADMIN_USERS,
|
|
1213
1268
|
AdminPermission.ADMIN_RESOURCES,
|
|
1214
1269
|
AdminPermission.ADMIN_CREATE}},
|
|
1215
|
-
|
|
1270
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1271
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
1216
1272
|
user.create()
|
|
1217
1273
|
del user
|
|
1218
1274
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1219
|
-
user.
|
|
1275
|
+
del user.hasRole[Xsd_QName('hyha:HyperHamletMember')]
|
|
1220
1276
|
user.update()
|
|
1221
1277
|
del user
|
|
1222
1278
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1223
|
-
self.assertEqual(user.
|
|
1279
|
+
self.assertEqual(user.hasRole, {Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1224
1280
|
|
|
1225
1281
|
# unittest.skip('Work in progress')
|
|
1226
1282
|
def test_update_user_unexisting_has_permissions(self):
|
|
@@ -1235,15 +1291,17 @@ class TestUser(unittest.TestCase):
|
|
|
1235
1291
|
AdminPermission.ADMIN_USERS,
|
|
1236
1292
|
AdminPermission.ADMIN_RESOURCES,
|
|
1237
1293
|
AdminPermission.ADMIN_CREATE}},
|
|
1238
|
-
|
|
1294
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1295
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1239
1296
|
user.create()
|
|
1240
1297
|
del user
|
|
1241
1298
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1242
|
-
user.
|
|
1299
|
+
del user.hasRole[Xsd_QName('oldap:Unknown')]
|
|
1243
1300
|
user.update()
|
|
1244
1301
|
del user
|
|
1245
1302
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1246
|
-
self.assertEqual(user.
|
|
1303
|
+
self.assertEqual(user.hasRole, {
|
|
1304
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1247
1305
|
|
|
1248
1306
|
def test_user_update_active(self):
|
|
1249
1307
|
user = User(con=self._connection,
|
|
@@ -1258,7 +1316,8 @@ class TestUser(unittest.TestCase):
|
|
|
1258
1316
|
AdminPermission.ADMIN_RESOURCES,
|
|
1259
1317
|
AdminPermission.ADMIN_CREATE}},
|
|
1260
1318
|
isActive=False,
|
|
1261
|
-
|
|
1319
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1320
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1262
1321
|
user.create()
|
|
1263
1322
|
self.assertFalse(user.isActive)
|
|
1264
1323
|
del user
|
|
@@ -1319,7 +1378,8 @@ class TestUser(unittest.TestCase):
|
|
|
1319
1378
|
AdminPermission.ADMIN_USERS,
|
|
1320
1379
|
AdminPermission.ADMIN_RESOURCES,
|
|
1321
1380
|
AdminPermission.ADMIN_CREATE}},
|
|
1322
|
-
|
|
1381
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1382
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1323
1383
|
with self.assertRaises(OldapErrorNoPermission) as ex:
|
|
1324
1384
|
user.create()
|
|
1325
1385
|
|
|
@@ -1334,7 +1394,8 @@ class TestUser(unittest.TestCase):
|
|
|
1334
1394
|
AdminPermission.ADMIN_USERS,
|
|
1335
1395
|
AdminPermission.ADMIN_RESOURCES,
|
|
1336
1396
|
AdminPermission.ADMIN_CREATE}},
|
|
1337
|
-
|
|
1397
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1398
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1338
1399
|
user.create()
|
|
1339
1400
|
user = User.read(con=self._unpriv, userId="niederer", ignore_cache=True)
|
|
1340
1401
|
user.familyName = "Niederer"
|