Example #1
0
 def delete(self, email):
     url = '/api2/accounts/{}/'.format(email)
     result = self.client.delete(url, expected=[200, 202])
     if result.status_code == 200:
         return True
     elif result.status_code == 202:
         raise DoesNotExist('User {}'.format(email))
Example #2
0
 def wrapped(*args, **kwargs):
     try:
         return func(*args, **kwargs)
     except ClientHttpError as e:
         if e.code == 404:
             raise DoesNotExist(msg)
         else:
             raise
Example #3
0
 def update_user(self, email, **kwargs):
     """Update a user account. Any of the following keys must be provided:
         - password, is_staff, is_active, name, note, storage."""
     url = '/api2/accounts/{}/'.format(email)
     params = {}
     attrs = ['password', 'is_active', 'is_staff', 'name', 'note', 'storage']
     for attr in attrs:
         if attr in kwargs:
             val = kwargs.pop(attr)
             if val is not None:
                 params[attr] = val
     result = self.client.put(url, data=params, expected=[200, 201, 400])
     if result.status_code == 400:
         raise DoesNotExist('User {}'.format(email))
     return True
Example #4
0
    def rename_group(self, group_name, group_newname):
        '''
        Rename this group
        :param group_name: Existing group name
        :param group_newname: New group name
        :return: [Group]
        '''
        group = self.get_group(group_name)
        if not group:
            raise DoesNotExist(group_name)

        url = '/api2/groups/{group_id}/'.format(group_id=group.group_id)
        params = {'operation': 'rename', 'newname': group_newname}
        resp_str = self.client.post(url, data=params, expected=[200])
        group.group_name = group_newname  # Patch local object
        return group