コード例 #1
0
def test_patch_relationships(client):
    citizens = [make_citizen(citizen_id=x) for x in range(1, 11)]
    body = {'citizens': citizens}
    status, data = send_create_import_request(client, body)
    assert status == 201

    import_id = data['data']['import_id']

    citizen_id = 10
    body = {'relatives': []}
    status, data = send_patch_citizen_request(client, import_id, citizen_id, body)
    assert status == 200

    citizen_id = 10
    body = {'relatives': [1, 2, 3, 4, 5, 6, 7, 8, 9]}
    status, data = send_patch_citizen_request(client, import_id, citizen_id, body)
    assert status == 200

    citizen_id = 9
    body = make_citizen(relatives=[1, 2, 3, 4, 5, 6, 7, 8, 10])
    del body['citizen_id']
    status, data = send_patch_citizen_request(client, import_id, citizen_id, body)
    assert status == 200

    citizen_id = 10
    body = {'relatives': []}
    status, data = send_patch_citizen_request(client, import_id, citizen_id, body)
    assert status == 200

    citizen_id = 9
    body = make_citizen(relatives=[])
    del body['citizen_id']
    status, data = send_patch_citizen_request(client, import_id, citizen_id, body)
    assert status == 200
コード例 #2
0
def test_patch_all_rows(client):
    citizens = [make_citizen(citizen_id=x) for x in range(1, 11)]
    body = {'citizens': citizens}
    status, data = send_create_import_request(client, body)
    assert status == 201

    import_id = data['data']['import_id']

    citizen_id = 3

    bodies = []

    for key in make_citizen().keys():
        if key == 'citizen_id':
            continue
        citizen_part = {key: make_citizen()[key]}
        bodies.append(citizen_part)

    assert all([send_patch_citizen_request(client, import_id, citizen_id, body)[0] == 200 for body in bodies])

    bodies = []

    for key in make_citizen().keys():
        if key == 'citizen_id':
            continue
        citizen_part = make_citizen()
        del citizen_part['citizen_id']
        del citizen_part[key]
        bodies.append(citizen_part)

    assert all([send_patch_citizen_request(client, import_id, citizen_id, body)[0] == 200 for body in bodies])
コード例 #3
0
def test_wrong_citizen_id(client: FlaskClient):
    bad_citizen = make_citizen(citizen_id=0)
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400

    bad_citizen = make_citizen(citizen_id=-1)
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #4
0
def test_wrong_relatives_data_type(client: FlaskClient):
    bad_citizen = make_citizen(relatives='a')
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400

    bad_citizen = make_citizen(relatives=["a"])
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #5
0
def test_wrong_apartment_data_type(client: FlaskClient):
    bad_citizen = make_citizen(apartment=None)
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400

    bad_citizen = make_citizen(apartment='a')
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #6
0
def test_missing_citizen_fields(client: FlaskClient):
    bodies = []

    for key in make_citizen().keys():
        bad_citizen = make_citizen()
        del bad_citizen[key]
        bodies.append({'citizens': [bad_citizen]})

    assert all([
        send_create_import_request(client, body)[0] == 400 for body in bodies
    ])
コード例 #7
0
def test_wrong_birth_date_data_type(client: FlaskClient):
    bad_citizen = make_citizen(birth_date=None)
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400

    bad_citizen = make_citizen(birth_date='b')
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400

    bad_citizen = make_citizen(birth_date='12.12.201a')
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #8
0
def test_single_citizen(client):
    body = {'citizens': [make_citizen()]}
    status, data = send_create_import_request(client, body)
    assert status == 201

    import_id = data['data']['import_id']

    status, data = send_get_citizens_request(client, import_id)
    assert status == 200
コード例 #9
0
def test_basic_test(client):
    citizens = [make_citizen(citizen_id=x) for x in range(1, 11)]
    body = {'citizens': citizens}
    status, data = send_create_import_request(client, body)
    assert status == 201

    import_id = data['data']['import_id']

    status, data = send_get_birthdays_request(client, import_id=import_id)
    assert status == 200
コード例 #10
0
def test_wrong_date_format(client: FlaskClient):
    bad_citizen = make_citizen(birth_date='01.1.2019')
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #11
0
def test_duplicate_ids(client: FlaskClient):
    body = {'citizens': [make_citizen(), make_citizen()]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #12
0
def test_relationships_are_not_mutual(client: FlaskClient):
    bad_citizen1 = make_citizen(relatives=[2])
    bad_citizen2 = make_citizen(citizen_id=2, relatives=[])
    body = {'citizens': [bad_citizen1, bad_citizen2]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #13
0
def test_unexistent_relative(client: FlaskClient):
    bad_citizen = make_citizen(relatives=[2])
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400
コード例 #14
0
def test_good_citizens_relationships(client: FlaskClient):
    good_citizen1 = make_citizen(citizen_id=1, relatives=[2])
    good_citizen2 = make_citizen(citizen_id=2, relatives=[1])
    body = {'citizens': [good_citizen1, good_citizen2]}
    status, data = send_create_import_request(client, body)
    assert status == 201
コード例 #15
0
def test_wrong_building_data_type(client: FlaskClient):
    bad_citizen = make_citizen(building=None)
    body = {'citizens': [bad_citizen]}
    status, data = send_create_import_request(client, body)
    assert status == 400