From 3bcfa802d904861a78fd19f38623dde33518966d Mon Sep 17 00:00:00 2001 From: RazDob15 Date: Thu, 25 Jun 2020 20:00:22 +1000 Subject: [PATCH 1/2] Fixed: Can create a group without pass users list --- nipyapi/security.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nipyapi/security.py b/nipyapi/security.py index ceaef7e5..eeeb3765 100644 --- a/nipyapi/security.py +++ b/nipyapi/security.py @@ -137,7 +137,7 @@ def create_service_user(identity, service='nifi', strict=True): def create_service_user_group(identity, service='nifi', - users=None, strict=True): + users=[], strict=True): """ Attempts to create a user with the provided identity and member users in the given service From c0dd352907e1b19f26315ed4e8e63839e4ecebb1 Mon Sep 17 00:00:00 2001 From: RazDob15 Date: Fri, 26 Jun 2020 03:33:56 +1000 Subject: [PATCH 2/2] Fixed: Can create a group without pass users list #1 --- nipyapi/security.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/nipyapi/security.py b/nipyapi/security.py index eeeb3765..4d189d1e 100644 --- a/nipyapi/security.py +++ b/nipyapi/security.py @@ -137,7 +137,7 @@ def create_service_user(identity, service='nifi', strict=True): def create_service_user_group(identity, service='nifi', - users=[], strict=True): + users=None, strict=True): """ Attempts to create a user with the provided identity and member users in the given service @@ -155,26 +155,30 @@ def create_service_user_group(identity, service='nifi', """ assert service in _valid_services assert isinstance(identity, six.string_types) + + users_ids = None + if service == 'nifi': - assert all(isinstance(user, nipyapi.nifi.UserEntity) for user in users) - else: - assert all(isinstance(user, nipyapi.registry.User) for user in users) - if service == 'registry': - user_group_obj = nipyapi.registry.UserGroup( - identity=identity, - users=[{'identifier': user.identifier} for user in users] - ) - else: - # must be nifi + if users: + assert all(isinstance(user, nipyapi.nifi.UserEntity) for user in users) + users_ids = [{'id': user.id} for user in users] user_group_obj = nipyapi.nifi.UserGroupEntity( revision=nipyapi.nifi.RevisionDTO( version=0 ), component=nipyapi.nifi.UserGroupDTO( identity=identity, - users=[{'id': user.id} for user in users] + users=users_ids ) ) + else: + if users: + assert all(isinstance(user, nipyapi.registry.User) for user in users) + users_ids = [{'identifier': user.identifier} for user in users] + user_group_obj = nipyapi.registry.UserGroup( + identity=identity, + users=users_ids + ) try: return getattr(nipyapi, service).TenantsApi().create_user_group( user_group_obj