oldaplib 0.3.29__py3-none-any.whl → 0.4.0__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 +20 -3
- 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 +348 -105
- oldaplib/src/propertyclass.py +1 -1
- oldaplib/src/resourceclass.py +13 -2
- oldaplib/src/{permissionset.py → role.py} +90 -112
- oldaplib/src/user.py +176 -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 +158 -98
- oldaplib/testdata/instances_test.trig +48 -26
- {oldaplib-0.3.29.dist-info → oldaplib-0.4.0.dist-info}/METADATA +1 -1
- {oldaplib-0.3.29.dist-info → oldaplib-0.4.0.dist-info}/RECORD +28 -27
- oldaplib/test/test_permissionset.py +0 -443
- {oldaplib-0.3.29.dist-info → oldaplib-0.4.0.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,7 +697,7 @@ 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()
|
|
656
702
|
user2 = User.read(con=self._connection, userId="edison", ignore_cache=True)
|
|
657
703
|
user2.userId = "aedison"
|
|
@@ -659,9 +705,9 @@ class TestUser(unittest.TestCase):
|
|
|
659
705
|
user2.givenName = "Thomas"
|
|
660
706
|
user2.email = "th.edison@audiorec.com"
|
|
661
707
|
|
|
662
|
-
user2.
|
|
663
|
-
user2.
|
|
664
|
-
user2.
|
|
708
|
+
user2.hasRole[Xsd_QName('britnet:BritnetEditor')] = DataPermission.DATA_UPDATE
|
|
709
|
+
user2.hasRole[Xsd_QName('hyha:HyperHamletMember')] = DataPermission.DATA_DELETE
|
|
710
|
+
del user2.hasRole[Xsd_QName('oldap:Unknown')]
|
|
665
711
|
user2.inProject[Iri('oldap:SystemProject')] = {AdminPermission.ADMIN_USERS, AdminPermission.ADMIN_RESOURCES}
|
|
666
712
|
user2.inProject[Iri('oldap:HyperHamlet')].remove(AdminPermission.ADMIN_USERS)
|
|
667
713
|
user2.inProject[Iri('oldap:HyperHamlet')].add(AdminPermission.ADMIN_LISTS)
|
|
@@ -670,11 +716,12 @@ class TestUser(unittest.TestCase):
|
|
|
670
716
|
self.assertEqual(user3.familyName, "Edison et al.")
|
|
671
717
|
self.assertEqual(user3.givenName, "Thomas")
|
|
672
718
|
self.assertEqual(user3.email, "th.edison@audiorec.com")
|
|
673
|
-
self.assertEqual({
|
|
674
|
-
|
|
719
|
+
self.assertEqual({Xsd_QName('britnet:BritnetEditor'): DataPermission.DATA_UPDATE,
|
|
720
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_DELETE}, user3.hasRole)
|
|
721
|
+
user3.hasRole[Xsd_QName('oldap:DoesNotExist')] = DataPermission.DATA_VIEW
|
|
675
722
|
with self.assertRaises(OldapErrorValue) as ex:
|
|
676
723
|
user3.update()
|
|
677
|
-
|
|
724
|
+
self.assertEqual(str(ex.exception), 'One of the permission sets is not existing!')
|
|
678
725
|
|
|
679
726
|
self.assertEqual(user3.inProject[Iri('oldap:HyperHamlet')], {AdminPermission.ADMIN_RESOURCES,
|
|
680
727
|
AdminPermission.ADMIN_CREATE,
|
|
@@ -700,7 +747,7 @@ class TestUser(unittest.TestCase):
|
|
|
700
747
|
givenName="Nikolai",
|
|
701
748
|
email="nikolai.tesla@tesla.com",
|
|
702
749
|
credentials="Alternative current",
|
|
703
|
-
|
|
750
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
704
751
|
user.create()
|
|
705
752
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
706
753
|
user.inProject = InProjectClass({Iri('http://www.salsah.org/version/2.0/SwissBritNet'): ObservableSet({AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE})})
|
|
@@ -718,7 +765,7 @@ class TestUser(unittest.TestCase):
|
|
|
718
765
|
credentials="Alternative current",
|
|
719
766
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
720
767
|
AdminPermission.ADMIN_RESOURCES}},
|
|
721
|
-
|
|
768
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
722
769
|
user.create()
|
|
723
770
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
724
771
|
del user.inProject
|
|
@@ -736,7 +783,7 @@ class TestUser(unittest.TestCase):
|
|
|
736
783
|
credentials="Alternative current",
|
|
737
784
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
738
785
|
AdminPermission.ADMIN_RESOURCES}},
|
|
739
|
-
|
|
786
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
740
787
|
user.create()
|
|
741
788
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
742
789
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = {AdminPermission.ADMIN_RESOURCES}
|
|
@@ -756,7 +803,7 @@ class TestUser(unittest.TestCase):
|
|
|
756
803
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
757
804
|
AdminPermission.ADMIN_RESOURCES},
|
|
758
805
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
759
|
-
|
|
806
|
+
hasRole={Iri('britnet:BritnetEditor'): DataPermission.DATA_UPDATE,})
|
|
760
807
|
user.create()
|
|
761
808
|
user = User.read(con=self._connection, userId="volta", ignore_cache=True)
|
|
762
809
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')].add(AdminPermission.ADMIN_LISTS)
|
|
@@ -776,7 +823,7 @@ class TestUser(unittest.TestCase):
|
|
|
776
823
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
777
824
|
AdminPermission.ADMIN_RESOURCES},
|
|
778
825
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
779
|
-
|
|
826
|
+
hasRole={Iri('britnet:BritnetEditor'): DataPermission.DATA_UPDATE})
|
|
780
827
|
user.create()
|
|
781
828
|
user = User.read(con=self._connection, userId="voltaB", ignore_cache=True)
|
|
782
829
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = {AdminPermission.ADMIN_LISTS}
|
|
@@ -796,7 +843,7 @@ class TestUser(unittest.TestCase):
|
|
|
796
843
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
797
844
|
AdminPermission.ADMIN_RESOURCES},
|
|
798
845
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
799
|
-
|
|
846
|
+
hasRole={Iri('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
800
847
|
user.create()
|
|
801
848
|
user = User.read(con=self._connection, userId="curie", ignore_cache=True)
|
|
802
849
|
user.inProject[Iri('oldap:HyperHamlet')].discard(AdminPermission.ADMIN_RESOURCES)
|
|
@@ -815,7 +862,7 @@ class TestUser(unittest.TestCase):
|
|
|
815
862
|
credentials="Alternative current",
|
|
816
863
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
817
864
|
AdminPermission.ADMIN_RESOURCES}},
|
|
818
|
-
|
|
865
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
819
866
|
user.create()
|
|
820
867
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
821
868
|
user.inProject[Iri('oldap:HyperHamlet')].add(AdminPermission.ADMIN_CREATE)
|
|
@@ -834,7 +881,7 @@ class TestUser(unittest.TestCase):
|
|
|
834
881
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
835
882
|
AdminPermission.ADMIN_RESOURCES},
|
|
836
883
|
Iri('http://www.salsah.org/version/2.0/SwissBritNet'): {AdminPermission.ADMIN_MODEL}},
|
|
837
|
-
|
|
884
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
838
885
|
user.create()
|
|
839
886
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
840
887
|
del user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')]
|
|
@@ -852,7 +899,7 @@ class TestUser(unittest.TestCase):
|
|
|
852
899
|
credentials="Alternative current",
|
|
853
900
|
inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_USERS,
|
|
854
901
|
AdminPermission.ADMIN_RESOURCES}},
|
|
855
|
-
|
|
902
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
856
903
|
user.create()
|
|
857
904
|
user = User.read(con=self._connection, userId="tesla", ignore_cache=True)
|
|
858
905
|
user.inProject[Iri('http://www.salsah.org/version/2.0/SwissBritNet')] = set()
|
|
@@ -883,7 +930,7 @@ class TestUser(unittest.TestCase):
|
|
|
883
930
|
AdminPermission.ADMIN_USERS,
|
|
884
931
|
AdminPermission.ADMIN_RESOURCES,
|
|
885
932
|
AdminPermission.ADMIN_CREATE}},
|
|
886
|
-
|
|
933
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
887
934
|
user.create()
|
|
888
935
|
del user
|
|
889
936
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -902,7 +949,7 @@ class TestUser(unittest.TestCase):
|
|
|
902
949
|
givenName="Bart",
|
|
903
950
|
email="bart.simpson@springfield.com",
|
|
904
951
|
credentials="AtomicPower",
|
|
905
|
-
|
|
952
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
906
953
|
user.create()
|
|
907
954
|
del user
|
|
908
955
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -929,7 +976,7 @@ class TestUser(unittest.TestCase):
|
|
|
929
976
|
AdminPermission.ADMIN_USERS,
|
|
930
977
|
AdminPermission.ADMIN_RESOURCES,
|
|
931
978
|
AdminPermission.ADMIN_CREATE}},
|
|
932
|
-
|
|
979
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
933
980
|
user.create()
|
|
934
981
|
del user
|
|
935
982
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -952,7 +999,7 @@ class TestUser(unittest.TestCase):
|
|
|
952
999
|
AdminPermission.ADMIN_USERS,
|
|
953
1000
|
AdminPermission.ADMIN_RESOURCES,
|
|
954
1001
|
AdminPermission.ADMIN_CREATE}},
|
|
955
|
-
|
|
1002
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
956
1003
|
user.create()
|
|
957
1004
|
del user
|
|
958
1005
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
@@ -975,7 +1022,7 @@ class TestUser(unittest.TestCase):
|
|
|
975
1022
|
AdminPermission.ADMIN_USERS,
|
|
976
1023
|
AdminPermission.ADMIN_RESOURCES,
|
|
977
1024
|
AdminPermission.ADMIN_CREATE}},
|
|
978
|
-
|
|
1025
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
979
1026
|
user.create()
|
|
980
1027
|
del user
|
|
981
1028
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1007,7 +1054,7 @@ class TestUser(unittest.TestCase):
|
|
|
1007
1054
|
AdminPermission.ADMIN_USERS,
|
|
1008
1055
|
AdminPermission.ADMIN_RESOURCES,
|
|
1009
1056
|
AdminPermission.ADMIN_CREATE}},
|
|
1010
|
-
|
|
1057
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1011
1058
|
user.create()
|
|
1012
1059
|
del user
|
|
1013
1060
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1034,7 +1081,7 @@ class TestUser(unittest.TestCase):
|
|
|
1034
1081
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1035
1082
|
}
|
|
1036
1083
|
},
|
|
1037
|
-
|
|
1084
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1038
1085
|
user.create()
|
|
1039
1086
|
user = User.read(con=self._connection, userId="fred", ignore_cache=True)
|
|
1040
1087
|
del user.inProject[Iri('oldap:HyperHamlet')]
|
|
@@ -1065,7 +1112,7 @@ class TestUser(unittest.TestCase):
|
|
|
1065
1112
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1066
1113
|
}
|
|
1067
1114
|
},
|
|
1068
|
-
|
|
1115
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1069
1116
|
user.create()
|
|
1070
1117
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
1071
1118
|
user.inProject[Iri('oldap:HyperHamlet')] = None
|
|
@@ -1095,7 +1142,7 @@ class TestUser(unittest.TestCase):
|
|
|
1095
1142
|
AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_CREATE
|
|
1096
1143
|
}
|
|
1097
1144
|
},
|
|
1098
|
-
|
|
1145
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1099
1146
|
user.create()
|
|
1100
1147
|
del user
|
|
1101
1148
|
user = User.read(con=self._connection, userId="bsimpson", ignore_cache=True)
|
|
@@ -1124,15 +1171,15 @@ class TestUser(unittest.TestCase):
|
|
|
1124
1171
|
AdminPermission.ADMIN_USERS,
|
|
1125
1172
|
AdminPermission.ADMIN_RESOURCES,
|
|
1126
1173
|
AdminPermission.ADMIN_CREATE}},
|
|
1127
|
-
|
|
1174
|
+
hasRole={Iri('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1128
1175
|
user.create()
|
|
1129
1176
|
del user
|
|
1130
1177
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1131
|
-
del user.
|
|
1178
|
+
del user.hasRole
|
|
1132
1179
|
user.update()
|
|
1133
1180
|
del user
|
|
1134
1181
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1135
|
-
self.assertFalse(user.
|
|
1182
|
+
self.assertFalse(user.hasRole)
|
|
1136
1183
|
|
|
1137
1184
|
# #unittest.skip('Work in progress')
|
|
1138
1185
|
def test_update_user_add_has_permissions(self):
|
|
@@ -1147,18 +1194,20 @@ class TestUser(unittest.TestCase):
|
|
|
1147
1194
|
AdminPermission.ADMIN_USERS,
|
|
1148
1195
|
AdminPermission.ADMIN_RESOURCES,
|
|
1149
1196
|
AdminPermission.ADMIN_CREATE}},
|
|
1150
|
-
|
|
1197
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_UPDATE})
|
|
1151
1198
|
user.create()
|
|
1152
1199
|
del user
|
|
1153
1200
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1154
|
-
user.
|
|
1201
|
+
user.hasRole[Xsd_QName('hyha:HyperHamletMember')] = DataPermission.DATA_UPDATE
|
|
1155
1202
|
user.update()
|
|
1156
1203
|
del user
|
|
1157
1204
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1158
|
-
self.assertEqual(user.
|
|
1205
|
+
self.assertEqual(user.hasRole, {
|
|
1206
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_UPDATE,
|
|
1207
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
1159
1208
|
|
|
1160
1209
|
# #unittest.skip('Work in progress')
|
|
1161
|
-
def
|
|
1210
|
+
def test_update_user_add_has_permissions_X(self):
|
|
1162
1211
|
user = User(con=self._connection,
|
|
1163
1212
|
userIri=Iri("https://orcid.org/0000-0001-5925-2956"),
|
|
1164
1213
|
userId=Xsd_NCName("chiquet"),
|
|
@@ -1173,11 +1222,15 @@ class TestUser(unittest.TestCase):
|
|
|
1173
1222
|
user.create()
|
|
1174
1223
|
del user
|
|
1175
1224
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1176
|
-
user.
|
|
1225
|
+
user.hasRole = {Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1226
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE}
|
|
1177
1227
|
user.update()
|
|
1178
1228
|
del user
|
|
1179
1229
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1180
|
-
self.assertEqual(user.
|
|
1230
|
+
self.assertEqual(user.hasRole, {
|
|
1231
|
+
Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1232
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE
|
|
1233
|
+
})
|
|
1181
1234
|
|
|
1182
1235
|
# #unittest.skip('Work in progress')
|
|
1183
1236
|
def test_update_user_add_bad_has_permissions(self):
|
|
@@ -1195,7 +1248,8 @@ class TestUser(unittest.TestCase):
|
|
|
1195
1248
|
user.create()
|
|
1196
1249
|
del user
|
|
1197
1250
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1198
|
-
user.
|
|
1251
|
+
user.hasRole = {Xsd_QName('oldap:GAGA'): DataPermission.DATA_RESTRICTED,
|
|
1252
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE}
|
|
1199
1253
|
with self.assertRaises(OldapErrorValue) as err:
|
|
1200
1254
|
user.update()
|
|
1201
1255
|
|
|
@@ -1212,15 +1266,16 @@ class TestUser(unittest.TestCase):
|
|
|
1212
1266
|
AdminPermission.ADMIN_USERS,
|
|
1213
1267
|
AdminPermission.ADMIN_RESOURCES,
|
|
1214
1268
|
AdminPermission.ADMIN_CREATE}},
|
|
1215
|
-
|
|
1269
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1270
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_UPDATE})
|
|
1216
1271
|
user.create()
|
|
1217
1272
|
del user
|
|
1218
1273
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1219
|
-
user.
|
|
1274
|
+
del user.hasRole[Xsd_QName('hyha:HyperHamletMember')]
|
|
1220
1275
|
user.update()
|
|
1221
1276
|
del user
|
|
1222
1277
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1223
|
-
self.assertEqual(user.
|
|
1278
|
+
self.assertEqual(user.hasRole, {Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED})
|
|
1224
1279
|
|
|
1225
1280
|
# unittest.skip('Work in progress')
|
|
1226
1281
|
def test_update_user_unexisting_has_permissions(self):
|
|
@@ -1235,15 +1290,17 @@ class TestUser(unittest.TestCase):
|
|
|
1235
1290
|
AdminPermission.ADMIN_USERS,
|
|
1236
1291
|
AdminPermission.ADMIN_RESOURCES,
|
|
1237
1292
|
AdminPermission.ADMIN_CREATE}},
|
|
1238
|
-
|
|
1293
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1294
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1239
1295
|
user.create()
|
|
1240
1296
|
del user
|
|
1241
1297
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1242
|
-
user.
|
|
1298
|
+
del user.hasRole[Xsd_QName('oldap:Unknown')]
|
|
1243
1299
|
user.update()
|
|
1244
1300
|
del user
|
|
1245
1301
|
user = User.read(con=self._connection, userId="chiquet", ignore_cache=True)
|
|
1246
|
-
self.assertEqual(user.
|
|
1302
|
+
self.assertEqual(user.hasRole, {
|
|
1303
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1247
1304
|
|
|
1248
1305
|
def test_user_update_active(self):
|
|
1249
1306
|
user = User(con=self._connection,
|
|
@@ -1258,7 +1315,8 @@ class TestUser(unittest.TestCase):
|
|
|
1258
1315
|
AdminPermission.ADMIN_RESOURCES,
|
|
1259
1316
|
AdminPermission.ADMIN_CREATE}},
|
|
1260
1317
|
isActive=False,
|
|
1261
|
-
|
|
1318
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1319
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1262
1320
|
user.create()
|
|
1263
1321
|
self.assertFalse(user.isActive)
|
|
1264
1322
|
del user
|
|
@@ -1319,7 +1377,8 @@ class TestUser(unittest.TestCase):
|
|
|
1319
1377
|
AdminPermission.ADMIN_USERS,
|
|
1320
1378
|
AdminPermission.ADMIN_RESOURCES,
|
|
1321
1379
|
AdminPermission.ADMIN_CREATE}},
|
|
1322
|
-
|
|
1380
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1381
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1323
1382
|
with self.assertRaises(OldapErrorNoPermission) as ex:
|
|
1324
1383
|
user.create()
|
|
1325
1384
|
|
|
@@ -1334,7 +1393,8 @@ class TestUser(unittest.TestCase):
|
|
|
1334
1393
|
AdminPermission.ADMIN_USERS,
|
|
1335
1394
|
AdminPermission.ADMIN_RESOURCES,
|
|
1336
1395
|
AdminPermission.ADMIN_CREATE}},
|
|
1337
|
-
|
|
1396
|
+
hasRole={Xsd_QName('oldap:Unknown'): DataPermission.DATA_RESTRICTED,
|
|
1397
|
+
Xsd_QName('hyha:HyperHamletMember'): DataPermission.DATA_RESTRICTED})
|
|
1338
1398
|
user.create()
|
|
1339
1399
|
user = User.read(con=self._unpriv, userId="niederer", ignore_cache=True)
|
|
1340
1400
|
user.familyName = "Niederer"
|