oldaplib 0.3.30__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.
@@ -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,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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions.add(Xsd_QName('oldap:GenericRestricted'))
663
- user2.hasPermissions.add(Xsd_QName('hyha:HyperHamletMember'))
664
- user2.hasPermissions.remove(Xsd_QName('oldap:GenericView'))
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({Iri('oldap:GenericRestricted'), Iri('hyha:HyperHamletMember')}, user3.hasPermissions)
674
- user3.hasPermissions.add(Iri('oldap:DoesNotExist'))
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
- self.assertEqual(str(ex.exception), 'One of the permission sets is not existing!')
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions
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.hasPermissions)
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
- hasPermissions={Iri('oldap:GenericView')})
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.hasPermissions.add(Iri('hyha:HyperHamletMember'))
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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 test_update_user_add_has_permissions(self):
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.hasPermissions = {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')}
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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.hasPermissions = {Iri('oldap:GAGA'), Iri('hyha:HyperHamletMember')}
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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.hasPermissions.discard(Xsd_QName('hyha:HyperHamletMember'))
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.hasPermissions, {Xsd_QName('oldap:GenericView')})
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
- hasPermissions={Xsd_QName('oldap:GenericView'), Xsd_QName('hyha:HyperHamletMember')})
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.hasPermissions.discard(Iri('oldap:GenericRestricted'))
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.hasPermissions, {Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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
- hasPermissions={Iri('oldap:GenericView'), Iri('hyha:HyperHamletMember')})
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"