def user_with_orgs_and_services(num_orgs, num_services, platform_admin=False):
    return User(user_json(
        name='leo',
        organisations=['org{}'.format(i) for i in range(1, num_orgs + 1)],
        services=['service{}'.format(i) for i in range(1, num_services + 1)],
        platform_admin=platform_admin
    ))
Beispiel #2
0
 def get_users(self):
     users_data = self.get("/user")['data']
     users = []
     for user in users_data:
         users.append(
             User(user, max_failed_login_count=self.max_failed_login_count))
     return users
Beispiel #3
0
 def update_password(self, user_id, password):
     data = {"_password": password}
     url = "/user/{}/update-password".format(user_id)
     user_data = self.post(url, data=data)
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count,
                 max_failed_verify_count=self.max_failed_verify_count)
 def activate_user(self, user):
     if user.state == 'pending':
         user_data = self._activate_user(user.id)
         return User(user_data['data'],
                     max_failed_login_count=self.max_failed_login_count)
     else:
         return user
Beispiel #5
0
 def activate_user(self, user):
     if user.state == 'pending':
         url = "/user/{}/activate".format(user.id)
         user_data = self.post(url, data=None)
         return User(user_data['data'], max_failed_login_count=self.max_failed_login_count, max_failed_verify_count=self.max_failed_verify_count)
     else:
         return user
Beispiel #6
0
 def register_user(self, name, email_address, mobile_number, password):
     data = {
         "name": name,
         "email_address": email_address,
         "mobile_number": mobile_number,
         "password": password
     }
     user_data = self.post("/user", data)
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #7
0
    def update_user_attribute(self, user_id, **kwargs):
        data = dict(kwargs)
        disallowed_attributes = set(data.keys()) - ALLOWED_ATTRIBUTES
        if disallowed_attributes:
            raise TypeError('Not allowed to update user attributes: {}'.format(
                ", ".join(disallowed_attributes)))

        data = dict(**kwargs)
        url = "/user/{}".format(user_id)
        user_data = self.post(url, data=data)
        return User(user_data['data'],
                    max_failed_login_count=self.max_failed_login_count)
Beispiel #8
0
def api_user_locked(fake_uuid):
    from app.notify_client.user_api_client import User
    user_data = {'id': fake_uuid,
                 'name': 'Test User',
                 'password': '******',
                 'email_address': '*****@*****.**',
                 'mobile_number': '07700 900762',
                 'state': 'active',
                 'failed_login_count': 5,
                 'permissions': {}
                 }
    user = User(user_data)
    return user
Beispiel #9
0
def api_user_changed_password(fake_uuid):
    from app.notify_client.user_api_client import User
    user_data = {'id': fake_uuid,
                 'name': 'Test User',
                 'password': '******',
                 'email_address': '*****@*****.**',
                 'mobile_number': '07700 900762',
                 'state': 'active',
                 'failed_login_count': 5,
                 'permissions': {},
                 'password_changed_at': str(datetime.utcnow() + timedelta(minutes=1))
                 }
    user = User(user_data)
    return user
Beispiel #10
0
def platform_admin_user(fake_uuid):
    from app.notify_client.user_api_client import User
    user_data = {'id': fake_uuid,
                 'name': 'Platform admin user',
                 'password': '******',
                 'email_address': '*****@*****.**',
                 'mobile_number': '07700 900762',
                 'state': 'active',
                 'failed_login_count': 0,
                 'permissions': {},
                 'platform_admin': True
                 }
    user = User(user_data)
    return user
Beispiel #11
0
 def _get_users_for_service(service_id):
     data = [{'id': 1,
              'logged_in_at': None,
              'mobile_number': '+447700900986',
              'permissions': {SERVICE_ONE_ID: ['send_texts',
                                               'send_emails',
                                               'send_letters',
                                               'manage_users',
                                               'manage_templates',
                                               'manage_settings',
                                               'manage_api_keys',
                                               'access_developer_docs']},
              'state': 'active',
              'password_changed_at': None,
              'name': 'Test User',
              'email_address': '*****@*****.**',
              'failed_login_count': 0}]
     return [User(data[0])]
Beispiel #12
0
def active_user_with_permissions(fake_uuid):
    from app.notify_client.user_api_client import User

    user_data = {'id': fake_uuid,
                 'name': 'Test User',
                 'password': '******',
                 'email_address': '*****@*****.**',
                 'mobile_number': '07700 900762',
                 'state': 'active',
                 'failed_login_count': 0,
                 'permissions': {SERVICE_ONE_ID: ['send_texts',
                                                  'send_emails',
                                                  'send_letters',
                                                  'manage_users',
                                                  'manage_templates',
                                                  'manage_settings',
                                                  'manage_api_keys',
                                                  'view_activity']},
                 'platform_admin': False
                 }
    user = User(user_data)
    return user
Beispiel #13
0
 def get_user_by_email(self, email_address):
     user_data = self.get('/user/email', params={'email': email_address})
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #14
0
 def get_user(self, id):
     url = "/user/{}".format(id)
     user_data = self.get(url)
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #15
0
 def add_user_to_organisation(self, org_id, user_id):
     resp = self.post('/organisations/{}/users/{}'.format(org_id, user_id),
                      data={})
     return User(resp['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #16
0
 def get_users_for_organisation(self, org_id):
     endpoint = '/organisations/{}/users'.format(org_id)
     resp = self.get(endpoint)
     return [User(data) for data in resp['data']]
Beispiel #17
0
 def get_users_for_service(self, service_id):
     endpoint = '/service/{}/users'.format(service_id)
     resp = self.get(endpoint)
     return [User(data) for data in resp['data']]
Beispiel #18
0
 def update_user(self, user):
     data = user.serialize()
     url = "/user/{}".format(user.id)
     user_data = self.put(url, data=data)
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #19
0
 def _service_one_user_with_permissions(*permissions):
     return User({'permissions': {SERVICE_ONE_ID: list(permissions)}})
 def get_user(self, user_id):
     return User(self._get_user(user_id)['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #21
0
 def reset_failed_login_count(self, user_id):
     url = "/user/{}/reset-failed-login-count".format(user_id)
     user_data = self.post(url, data={})
     return User(user_data['data'],
                 max_failed_login_count=self.max_failed_login_count)
Beispiel #22
0
 def add_user_to_service(self, service_id, user_id, permissions):
     endpoint = '/service/{}/users/{}'.format(service_id, user_id)
     data = [{'permission': x} for x in permissions]
     resp = self.post(endpoint, data=data)
     return User(resp['data'],
                 max_failed_login_count=self.max_failed_login_count)