def test_client_model_delete(db_session, conf_logger): clients = Client.get_all() client = util.get_random_client() client.delete() assert client in clients assert client not in Client.get_all() assert Client.get_by_email(client.email) is None
def test_clients_detail_resource__on_delete(db_session, client, admin): # creates the object to be updated original_mock_data = util.get_random_user_data() # saves the object to be updated instance user_client = Client(**original_mock_data) user_client.set_password(original_mock_data.get('password')) user_client.save() user_client_db = Client.get_by_email(user_client.email) assert user_client_db is not None # creates the request response = client.simulate_delete( '/v1/clients/{client_id}'.format(client_id=user_client.id), headers={'Authorization': 'Basic {}'.format(admin.basic_password)}, ) json.loads(response.content).get('data') user_client_db = Client.get_by_email(user_client.email) assert user_client not in db_session assert user_client_db is None
def get_client(req, resp, resource, params): client_id = params.get('client_id', None) if not client_id: raise falcon.HTTPError(falcon.HTTP_400) client = Client.get_by_id(client_id) if not client: raise falcon.HTTPError(falcon.HTTP_404) params['client'] = client
def on_get(self, req, resp): users = Client.get_all() schema = ClientSchema() schema.context['remove_fields'] = ['seed', 'password'] data, errors = schema.dump(users, many=True) if errors: logger.error(errors) raise falcon.HTTPInternalServerError() data = format_response(data) resp.status = falcon.HTTP_200 resp.body = json.dumps(data, ensure_ascii=False)
def test_clients_detail_resource__on_get(db_session, client, admin): mock_data = util.get_random_user_data() user_client = Client(**mock_data) user_client.save() response = client.simulate_get( '/v1/clients/{client_id}'.format(client_id=user_client.id), headers={'Authorization': 'Basic {}'.format(admin.basic_password)}, ) data = json.loads(response.content).get('data') user_client = User.get_by_id(data.get('id')) assert response.status == falcon.HTTP_OK assert data.get('email') == user_client.email assert data.get('first_name') == user_client.first_name assert data.get('last_name') == user_client.last_name assert data.get('user_type') == user_client.user_type.value assert data.get('code') == user_client.code assert data.get('password', None) is None assert data.get('seed', None) is None
def test_client_model(db_session, conf_logger): users_data = [util.get_random_user_data() for idx in range(8)] for user_data in users_data: user = Client(**user_data) user.set_password(user.password) user.save() for idx, user in enumerate(list(Client.get_all())): assert users_data[idx].get('email') == user.email assert users_data[idx].get('first_name') == user.first_name assert users_data[idx].get('last_name') == user.last_name assert UsersEnum.client == user.user_type
def test_clients_detail_resource__on_put(db_session, client, admin): original_mock_data = util.get_random_user_data() # saves the object to be updated instance user_client = Client(**original_mock_data) user_client.set_password(original_mock_data.get('password')) user_client.save() mock_data = { "first_name": "{} {}".format(original_mock_data.get('first_name'), util.provider.personal.name()), } response = client.simulate_put( '/v1/clients/{client_id}'.format(client_id=user_client.id), headers={'Authorization': 'Basic {}'.format(admin.basic_password)}, body=json.dumps(mock_data)) data = json.loads(response.content).get('data') assert response.status == falcon.HTTP_200 assert data.get('first_name') == mock_data.get('first_name') assert data.get('first_name') != original_mock_data.get('first_name') assert response.status == falcon.HTTP_OK assert data.get('email') == user_client.email assert data.get('first_name') == user_client.first_name assert data.get('last_name') == user_client.last_name assert data.get('user_type') == user_client.user_type.value assert data.get('code') == user_client.code assert data.get('password', None) is None assert data.get('seed', None) is None mock_data = { "last_name": "{} {}".format(original_mock_data.get('last_name'), util.provider.personal.name()), } response = client.simulate_put( '/v1/clients/{client_id}'.format(client_id=user_client.id), headers={'Authorization': 'Basic {}'.format(admin.basic_password)}, body=json.dumps(mock_data)) data = json.loads(response.content).get('data') assert response.status == falcon.HTTP_200 assert data.get('last_name') == mock_data.get('last_name') assert data.get('last_name') != original_mock_data.get('last_name') assert data.get('email') == user_client.email assert data.get('first_name') == user_client.first_name assert data.get('last_name') == user_client.last_name assert data.get('user_type') == user_client.user_type.value assert data.get('code') == user_client.code assert data.get('password', None) is None assert data.get('seed', None) is None
def user_client(): client = Client(**dict( email='*****@*****.**', first_name='Client', last_name='Client')) client.set_password('admin') client.save() setattr( client, 'basic_password', b64encode("{}:{}".format(client.email, 'admin').encode()).decode("ascii")) yield client
def test_clients_list_resource__on_get(db_session, client, admin): response = client.simulate_get( '/v1/clients/', headers={'Authorization': 'Basic {}'.format(admin.basic_password)}) data = json.loads(response.content).get('data') assert response.status == falcon.HTTP_OK assert isinstance(data, list) for client_data in data: client = Client.get_by_id(client_data.get('id')) assert client_data.get('email') == client.email assert client_data.get('first_name') == client.first_name assert client_data.get('last_name') == client.last_name assert client_data.get('code') == client.code assert client_data.get('password', None) is None assert client_data.get('user_type') == UsersEnum.client.value
def get_random_client(): clients = Client.get_all() return random.choice(clients)
def create_random_client(): data = get_random_user_data() client = Client(**data) client.save() return client
def make_user(self, data): from ssms.models import Client data['user_type'] = 'client' return Client(**data)