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.
@@ -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
- hasPermissions={})
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
- hasPermissions={Xsd_QName('oldap:GenericView')})
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.hasPermissions, {Xsd_QName('oldap:GenericView')})
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
- hasPermissions={Xsd_QName('oldap:GenericView')})
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.hasPermissions, user2.hasPermissions)
151
+ self.assertEqual(user.hasRole, user2.hasRole)
138
152
 
139
153
  # @unittest.skip('Work in progress')
140
- def test_read_user_from_id(self):
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.ADMIN_RESOURCES, AdminPermission.ADMIN_MODEL, AdminPermission.ADMIN_LISTS},
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.ADMIN_PERMISSION_SETS, AdminPermission.ADMIN_RESOURCES,
167
+ AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
154
168
  AdminPermission.ADMIN_USERS}
155
169
  }))
156
- self.assertEqual(user.hasPermissions, {Iri("oldap:GenericRestricted"), Iri('oldap:GenericView')})
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.ADMIN_PERMISSION_SETS, AdminPermission.ADMIN_RESOURCES,
201
+ AdminPermission.ADMIN_ROLES, AdminPermission.ADMIN_RESOURCES,
172
202
  AdminPermission.ADMIN_USERS}
173
203
  }))
174
- self.assertEqual(user.hasPermissions, {Iri("oldap:GenericRestricted"), Iri('oldap:GenericView')})
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('oldap:SharedProject'): {AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_MODEL, AdminPermission.ADMIN_LISTS},
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.ADMIN_PERMISSION_SETS, AdminPermission.ADMIN_RESOURCES,
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.hasPermissions, {Iri("oldap:GenericRestricted"), Iri('oldap:GenericView')})
220
- self.assertEqual(user.hasPermissions, user2.hasPermissions)
221
- self.assertFalse(user.hasPermissions is user2.hasPermissions)
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('oldap:SharedProject'): {AdminPermission.ADMIN_RESOURCES, AdminPermission.ADMIN_MODEL, AdminPermission.ADMIN_LISTS},
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.ADMIN_PERMISSION_SETS, AdminPermission.ADMIN_RESOURCES,
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.hasPermissions, {Iri("oldap:GenericRestricted"), Iri('oldap:GenericView')})
259
- self.assertEqual(user.hasPermissions, user3.hasPermissions)
260
- self.assertFalse(user.hasPermissions is user3.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')},
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.hasPermissions, user.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')},
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
- hasPermissions={Iri('oldap:GenericView')},
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
- hasPermissions={Iri('oldap:GenericView')},
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.ADMIN_USERS,
425
- AdminPermission.ADMIN_RESOURCES,
461
+ inProject={Iri('oldap:HyperHamlet'): {AdminPermission.ADMIN_RESOURCES,
426
462
  AdminPermission.ADMIN_CREATE}},
427
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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 test_create_user_invalid_permset(self):
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
- hasPermissions={Iri('oldap:GenericView'), Xsd_QName('oldap:Gaga')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions = {Iri('oldap:GenericRestricted'), Iri('oldap:GenericView')}
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.hasPermissions, {Iri('oldap:GenericRestricted'), Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions
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.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions = []
624
+ user.hasRole = []
581
625
  user.update()
582
626
  user = User.read(con=self._connection, userId="ampere", ignore_cache=True)
583
- self.assertIsNone(user.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions = None
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.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions.add(Iri('oldap:GenericRestricted'))
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.hasPermissions, {Iri('oldap:GenericRestricted'), Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericRestricted'), Iri('oldap:GenericView')})
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.hasPermissions.remove(Xsd_QName('oldap:GenericRestricted'))
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.hasPermissions, {Xsd_QName('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions.add(Xsd_QName('oldap:GenericRestricted'))
663
- user2.hasPermissions.add(Xsd_QName('hyha:HyperHamletMember'))
664
- user2.hasPermissions.remove(Xsd_QName('oldap:GenericView'))
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({Iri('oldap:GenericRestricted'), Iri('hyha:HyperHamletMember')}, user3.hasPermissions)
674
- user3.hasPermissions.add(Iri('oldap:DoesNotExist'))
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
- self.assertEqual(str(ex.exception), 'One of the permission sets is not existing!')
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions
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.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions.add(Iri('hyha:HyperHamletMember'))
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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 test_update_user_add_has_permissions(self):
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.hasPermissions = {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')}
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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.hasPermissions = {Iri('oldap:GAGA'), Iri('hyha:HyperHamletMember')}
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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.hasPermissions.discard(Xsd_QName('hyha:HyperHamletMember'))
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.hasPermissions, {Xsd_QName('oldap:GenericView')})
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
- hasPermissions={Xsd_QName('oldap:GenericView'), Xsd_QName('hyha:HyperHamletMember')})
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.hasPermissions.discard(Iri('oldap:GenericRestricted'))
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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"