Beispiel #1
0
def test_get_user_endpoint(client: CustomFlaskClient, auth_header: any):
    user_id = (UserModel.select(UserModel.id).where(
        UserModel.deleted_at.is_null()).order_by(
            fn.Random()).limit(1).get().id)

    user = UserModel.get(UserModel.id == user_id)
    role = user.roles[0]
    db_wrapper.database.close()

    response = client.get('/api/users/%s' % user_id,
                          json={},
                          headers=auth_header())
    json_response = response.get_json()
    json_data = json_response.get('data')

    assert 200 == response.status_code
    assert user_id == json_data.get('id')
    assert user.name == json_data.get('name')
    assert user.last_name == json_data.get('last_name')
    assert user.birth_date.strftime('%Y-%m-%d') == json_data.get('birth_date')
    assert user.created_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'created_at')
    assert user.updated_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'updated_at')
    assert user.deleted_at == json_data.get('deleted_at')

    role_data = json_data.get('roles')[0]

    assert role.name == role_data.get('name')
    assert role.label == role_data.get('label')
Beispiel #2
0
def test_get_document_data(client: CustomFlaskClient, auth_header: any):
    document = (DocumentModel.select().where(
        DocumentModel.deleted_at.is_null()).order_by(
            fn.Random()).limit(1).get())
    db_wrapper.database.close()
    document_id = document.id

    response = client.get(f'/api/documents/{document_id}',
                          json={},
                          headers=auth_header())
    json_response = response.get_json()
    json_data = json_response.get('data')

    parse_url = urlparse(json_data.get('url'))

    assert 200 == response.status_code
    assert document.created_by.id == json_data.get('created_by').get('id')
    assert document.name == json_data.get('name')
    assert document.mime_type == json_data.get('mime_type')
    assert document.size == json_data.get('size')
    assert parse_url.scheme and parse_url.netloc
    assert document.created_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'created_at')
    assert document.updated_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'updated_at')
    assert document.deleted_at == json_data.get('deleted_at')
Beispiel #3
0
def test_validate_reset_password(client: CustomFlaskClient, app: Flask):
    email = os.getenv('TEST_USER_EMAIL')

    user = UserModel.get(email=email)

    with app.app_context():
        token = user.get_reset_token()
        db_wrapper.database.close()

    response = client.get(f'/api/auth/reset_password/{token}', json={})

    assert 200 == response.status_code
Beispiel #4
0
def test_get_document_file(client: CustomFlaskClient, auth_header: any):
    document = (DocumentModel.select().where(
        DocumentModel.deleted_at.is_null()).order_by(
            fn.Random()).limit(1).get())
    document_id = document.id
    db_wrapper.database.close()

    headers = auth_header()
    headers['Content-Type'] = 'application/octet-stream'

    response = client.get(f'/api/documents/{document_id}', headers=headers)

    assert 200 == response.status_code
    assert isinstance(response.get_data(), bytes)
Beispiel #5
0
def test_check_task_status(client: CustomFlaskClient, auth_header: any):
    _create_task_record()

    task_id = '59cc0424-6f97-44c1-a253-7b4d7566e3f7'
    response = client.get(f'/api/tasks/status/{task_id}',
                          json={},
                          headers=auth_header())
    json_data = response.get_json()

    assert 200 == response.status_code
    assert isinstance(json_data, dict)
    assert json_data.get('state')
    assert json_data.get('current')
    assert json_data.get('total')
    assert json_data.get('result')
Beispiel #6
0
def test_get_role_endpoint(client: CustomFlaskClient, auth_header: any):
    role_id = (RoleModel.select(RoleModel.id).where(
        RoleModel.deleted_at.is_null()).order_by(
            fn.Random()).limit(1).get().id)

    role = RoleModel.get(RoleModel.id == role_id)
    db_wrapper.database.close()

    response = client.get('/api/roles/%s' % role_id,
                          json={},
                          headers=auth_header())
    json_response = response.get_json()
    json_data = json_response.get('data')

    assert 200 == response.status_code
    assert role_id == json_data.get('id')
    assert role.name == json_data.get('name')
    assert role.name.lower() == json_data.get('name').lower().replace('-', ' ')
    assert role.created_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'created_at')
    assert role.updated_at.strftime('%Y-%m-%d %H:%M:%S') == json_data.get(
        'updated_at')
    assert role.deleted_at == json_data.get('deleted_at')
Beispiel #7
0
def test_welcome_api(client: CustomFlaskClient):
    response = client.get('/api/welcome', json={})

    assert 200 == response.status_code
    assert response.data == b'"Welcome to flask_api!"\n'