'access': 'readwrite',
'key_type': 'swift'
})
- self.assertStatus(201)
+ self.assertStatus(200)
data = self.jsonBody()
subuser = self.find_object_in_list('id', 'teuth-test-user:tux', data)
self.assertIsInstance(subuser, object)
'access_key': 'yyy',
'secret_key': 'xxx'
})
- self.assertStatus(201)
+ self.assertStatus(200)
data = self.jsonBody()
subuser = self.find_object_in_list('id', 'teuth-test-user:hugo', data)
self.assertIsInstance(subuser, object)
def create_subuser(self, uid, subuser, access, key_type='s3',
generate_secret='true', access_key=None,
secret_key=None, daemon_name=None):
- return self.proxy(daemon_name, 'PUT', 'user', {
- 'uid': uid,
- 'subuser': subuser,
- 'key-type': key_type,
- 'access': access,
- 'generate-secret': generate_secret,
- 'access-key': access_key,
- 'secret-key': secret_key
- })
+ # pylint: disable=R1705
+ subusr_array = []
+ user = json.loads(self.get(uid, daemon_name)) # type: ignore
+ subusers = user["subusers"]
+ for sub_usr in subusers:
+ subusr_array.append(sub_usr["id"])
+ if subuser in subusr_array:
+ return self.proxy(daemon_name, 'POST', 'user', {
+ 'uid': uid,
+ 'subuser': subuser,
+ 'key-type': key_type,
+ 'access': access,
+ 'generate-secret': generate_secret,
+ 'access-key': access_key,
+ 'secret-key': secret_key
+ })
+ else:
+ return self.proxy(daemon_name, 'PUT', 'user', {
+ 'uid': uid,
+ 'subuser': subuser,
+ 'key-type': key_type,
+ 'access': access,
+ 'generate-secret': generate_secret,
+ 'access-key': access_key,
+ 'secret-key': secret_key
+ })
@RESTController.Resource(method='DELETE', path='/subuser/{subuser}', status=204)
def delete_subuser(self, uid, subuser, purge_keys='true', daemon_name=None):