Beispiel #1
0
def test_deletion_keys_and_auth(create_instance, mock_rabbit):
    """
    We start by creating the user, it's easier than using a fixture, then we delete the auth and the key
    """

    # first, test that with an unknown user, we get a 404
    _, status = api_delete('/v0/users/75/keys/1', check=False, no_json=True)
    assert status == 404

    user = {'login': '******', 'email': '*****@*****.**'}
    resp_user = api_post('/v0/users/',
                         data=json.dumps(user),
                         content_type='application/json')
    api_post('/v0/users/{}/keys'.format(resp_user['id']),
             data=json.dumps({'app_name': 'myApp'}),
             content_type='application/json')
    auth = {'instance_id': create_instance, 'api_id': 1}
    api_post('/v0/users/{}/authorizations'.format(resp_user['id']),
             data=json.dumps(auth),
             content_type='application/json')
    resp = api_get('/v0/users/{}'.format(resp_user['id']))

    resp_key = api_delete('/v0/users/{user_id}/keys/{key_id}'.format(
        user_id=resp['id'], key_id=resp['keys'][0]['id']))
    assert len(resp_key['keys']) == 0
    resp_auth = api_delete('/v0/users/{}/authorizations/'.format(resp['id']),
                           data=json.dumps(auth),
                           content_type='application/json')
    assert len(resp_auth['authorizations']) == 0
    assert mock_rabbit.called
Beispiel #2
0
def test_delete_instance_by_name(create_instance):
    resp = api_delete('/v0/instances/fr')
    assert resp['id'] == create_instance
    assert resp['discarded'] == True
    resp = api_get('/v0/instances/')
    assert resp == []

    # delete by name is not idempotent
    resp, status = api_delete('/v0/instances/fr', check=False)
    assert status == 404
Beispiel #3
0
def test_external_service_delete(default_external_service_config):
    """
    Test that a 'deleted' service isn't returned when querying all services,
    and that its 'discarded' parameter is set to True
    """
    resp = api_get('/v0/external_services')
    assert 'external_services' in resp
    assert len(resp['external_services']) == 4

    _, status_code = api_delete('v0/external_services/forseti_free_floatings',
                                check=False,
                                no_json=True)
    assert status_code == 204

    resp = api_get('/v0/external_services')
    assert 'external_services' in resp
    assert len(resp['external_services']) == 3

    resp = api_get('/v0/external_services/forseti_free_floatings')
    assert 'external_services' in resp
    assert len(resp['external_services']) == 1
    assert resp['external_services'][0]['discarded']

    resp = api_get('/v0/external_services/Timeo_Horizon')
    assert 'external_services' in resp
    assert len(resp['external_services']) == 1
    assert not resp['external_services'][0]['discarded']
Beispiel #4
0
def test_autocomplete_parameters_methods():
    resp_get = api_get('/v1/autocomplete_parameters')
    assert 'autocomplete_parameters' in resp_get
    initial_num = len(resp_get['autocomplete_parameters'])
    assert initial_num == 0

    autocomplete_data = {
        'street': 'OSM',
        'name': 'france',
        'address': 'BANO',
        'admin': 'COSMOGONY',
        'poi': 'OSM',
    }
    resp_post, status_post = api_post(
        '/v1/autocomplete_parameters',
        data=json.dumps(autocomplete_data),
        content_type='application/json',
        check=False,
    )
    assert status_post == 201
    assert 'autocomplete_parameters' in resp_post
    assert len(resp_post['autocomplete_parameters']) == 1
    for key in autocomplete_data.keys():
        assert resp_post['autocomplete_parameters'][0][
            key] == autocomplete_data[key]
    autocomplete_name = resp_post['autocomplete_parameters'][0]['name']

    resp_get = api_get('/v1/autocomplete_parameters')
    assert 'autocomplete_parameters' in resp_get
    assert len(resp_get['autocomplete_parameters']) == initial_num + 1
    assert resp_get['autocomplete_parameters'][0]['name'] == autocomplete_name
    for key in autocomplete_data.keys():
        assert resp_get['autocomplete_parameters'][0][
            key] == autocomplete_data[key]

    autocomplete_data_update = {'address': 'OA'}
    resp_put = api_put(
        '/v1/autocomplete_parameters/{}'.format(autocomplete_name),
        data=json.dumps(autocomplete_data_update),
        content_type='application/json',
    )
    assert 'autocomplete_parameters' in resp_put
    assert len(resp_put['autocomplete_parameters']) == 1

    resp_get = api_get('/v1/autocomplete_parameters')
    assert 'autocomplete_parameters' in resp_get
    assert len(resp_get['autocomplete_parameters']) == initial_num + 1
    assert resp_get['autocomplete_parameters'][0]['name'] == autocomplete_name
    assert resp_get['autocomplete_parameters'][0][
        'address'] == autocomplete_data_update['address']

    resp_delete, status_delete = api_delete(
        '/v1/autocomplete_parameters/{}'.format(autocomplete_name),
        check=False,
        no_json=True)
    assert status_delete == 204

    resp_get = api_get('/v1/autocomplete_parameters')
    assert 'autocomplete_parameters' in resp_get
    assert len(resp_get['autocomplete_parameters']) == initial_num
def test_delete_poi_type_json(create_poi_type_json_obj):
    resp, status_code = api_delete('/v0/instances/fr/poi_types',
                                   check=False,
                                   no_json=True)

    assert resp == ''
    assert status_code == 204
Beispiel #6
0
def test_delete_instance_by_id(create_instance):
    resp = api_delete('/v0/instances/{}'.format(create_instance))
    assert resp['id'] == create_instance
    assert resp['discarded'] == True

    # check response to get with different use cases
    resp = api_get('/v0/instances/')
    assert resp == []
    resp = api_get('/v0/instances/fr')
    assert resp == []
    resp = api_get('/v0/instances/{}'.format(create_instance))
    assert resp == []

    # delete by id is idempotent
    resp, status = api_delete('/v0/instances/{}'.format(create_instance), check=False)
    assert status == 200
Beispiel #7
0
def test_end_points_methods():
    resp_get = api_get('/v1/end_points')
    assert 'end_points' in resp_get
    initial_num = len(resp_get['end_points'])

    endpoint_data = {'name': 'tyr_v1', 'hostnames': ['host_v1']}
    resp_post, status_post = api_post(
        '/v1/end_points', data=json.dumps(endpoint_data), content_type='application/json', check=False
    )
    assert status_post == 201
    assert 'end_point' in resp_post
    assert len(resp_post['end_point']) == 1
    assert resp_post['end_point'][0]['name'] == endpoint_data['name']
    endpoint_id = resp_post['end_point'][0]['id']

    resp_get = api_get('/v1/end_points')
    assert 'end_points' in resp_get
    assert len(resp_get['end_points']) == initial_num + 1

    endpoint_data_update = {'name': 'Tyr_v1_update'}
    resp_put = api_put(
        '/v1/end_points/{}'.format(endpoint_id),
        data=json.dumps(endpoint_data_update),
        content_type='application/json',
    )
    assert 'end_point' in resp_put
    assert len(resp_put['end_point']) == 1
    assert resp_put['end_point'][0]['name'] == endpoint_data_update['name']

    resp_delete, status_delete = api_delete('/v1/end_points/{}'.format(endpoint_id), check=False, no_json=True)
    assert status_delete == 204

    resp_get = api_get('/v1/end_points')
    assert 'end_points' in resp_get
    assert len(resp_get['end_points']) == initial_num
def test_delete_poi_type_for_two_instances(create_instance,
                                           create_tyr_update_jobs):

    resp = api_get('/v0/instances')
    assert len(resp) == 2

    resp = api_get('/v0/jobs/{}'.format(create_instance))
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] == 'poi'

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 2

    resp = api_delete('/v0/instances/{}/actions/delete_dataset/poi'.format(
        create_tyr_update_jobs))
    assert resp['action'] == 'All poi datasets deleted for instance {}'.format(
        create_tyr_update_jobs)

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 1
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] != 'poi'

    resp = api_get('/v0/jobs/{}'.format(create_instance))
    assert len(resp.values()[0]) == 1
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] == 'poi'
Beispiel #9
0
def test_delete_user(create_multiple_users, mock_rabbit):
    """
    delete a user
    """
    resp, status = api_delete('/v0/users/{}'.format(
        create_multiple_users['user1']),
                              check=False,
                              no_json=True)
    assert status == 204

    resp, status = api_get('/v0/users/{}'.format(
        create_multiple_users['user1']),
                           check=False)
    assert status == 404

    resp = api_get('/v0/users/')
    assert len(resp) == 1
    u = resp[0]
    assert u['id'] == create_multiple_users['user2']
    assert u['login'] == 'foodefault'
    assert u['email'] == '*****@*****.**'
    assert u['end_point']['name'] == 'navitia.io'
    assert u['billing_plan']['name'] == 'nav_ctp'
    assert mock_rabbit.call_count == 1
    assert_default_scop_shape(u)
def test_delete_for_wrong_data_set_type(create_instance):

    resp, status_code = api_delete(
        '/v0/instances/fr_instance/actions/delete_dataset/toto', check=False)
    assert resp[
        'action'] == 'No toto dataset to be deleted for instance fr_instance'
    assert status_code == 200
Beispiel #11
0
def test_users_methods():
    user_data = {'login': '******', 'email': '*****@*****.**'}
    resp_post = api_post('/v1/users',
                         data=json.dumps(user_data),
                         content_type='application/json')
    assert 'user' in resp_post
    assert resp_post['user']['login'] == 'user1'
    assert resp_post['user']['email'] == '*****@*****.**'
    user_id = resp_post['user']['id']

    user_data_update = {'type': 'super_user'}
    resp_put = api_put('/v1/users/{}'.format(user_id),
                       data=json.dumps(user_data_update),
                       content_type='application/json')
    assert 'user' in resp_put
    assert resp_put['user']['login'] == 'user1'
    assert resp_put['user']['type'] == 'super_user'

    resp_delete, status_delete = api_delete('/v1/users/{}'.format(user_id),
                                            check=False,
                                            no_json=True)
    assert status_delete == 204

    resp_get, status_get = api_get('/v1/users/{}'.format(user_id), check=False)
    assert status_get == 404
Beispiel #12
0
def test_keys_methods(create_5_users):
    user_id = create_5_users
    resp_post = api_post(
        '/v1/users/{}/keys'.format(create_5_users),
        data=json.dumps({
            'app_name': 'testApp',
            'valid_until': '2020-01-01'
        }),
        content_type='application/json',
    )
    assert 'keys' in resp_post['user']
    assert len(resp_post['user']['keys']) == 1
    assert resp_post['user']['keys'][0]['app_name'] == 'testApp'
    assert resp_post['user']['keys'][0]['valid_until'] == '2020-01-01'

    key_id = resp_post['user']['keys'][0]['id']
    resp_put = api_put(
        '/v1/users/{}/keys/{}'.format(user_id, key_id),
        data=json.dumps({
            'app_name': 'testApp',
            'valid_until': '2021-01-01'
        }),
        content_type='application/json',
    )
    assert len(resp_put['user']['keys']) == 1
    assert resp_put['user']['keys'][0]['app_name'] == 'testApp'
    assert resp_put['user']['keys'][0]['valid_until'] == '2021-01-01'

    resp_delete = api_delete('/v1/users/{}/keys/{}'.format(user_id, key_id))
    assert len(resp_delete['user']['keys']) == 0
Beispiel #13
0
def test_migrate_poi_to_osm_wrong_instance(create_instance):

    resp, status_code = api_delete(
        '/v0/instances/wrong_instance/actions/migrate_from_poi_to_osm',
        check=False)
    assert resp['action'] == 'No instance found for : wrong_instance'
    assert status_code == 404
Beispiel #14
0
def test_purge_old_jobs_of_multi_instance():
    """
    We should delete jobs, data_sets as well as metrics of all instances
    including discarded = True
    """
    app.config['JOB_MAX_PERIOD_TO_KEEP'] = 1

    instance_name, backup_dir = init_test()
    create_jobs_with_same_datasets(instance_name, backup_dir)

    create_jobs_with_same_datasets('fr-discarded', backup_dir)

    instances_resp = api_get('/v0/instances')
    assert len(instances_resp) == 2

    # Delete the second instance (discarded = True)
    instances_resp = api_delete('/v0/instances/fr-discarded')
    assert instances_resp['discarded'] is True

    jobs_resp = api_get('/v0/jobs/fr-discarded')
    assert len(jobs_resp['jobs']) == 3
    jobs_resp = api_get('/v0/jobs/fr')
    assert len(jobs_resp['jobs']) == 3
    tasks.purge_jobs()
    jobs_resp = api_get('/v0/jobs/fr-discarded')
    assert len(jobs_resp['jobs']) == 1
    jobs_resp = api_get('/v0/jobs/fr')
    assert len(jobs_resp['jobs']) == 1
Beispiel #15
0
def test_full_registration_then_deletion(create_instance, mock_rabbit):
    """
    we create a user, then a token for him, and finaly we give to him some authorization
    after that we delete him
    """
    user = {'login': '******', 'email': '*****@*****.**'}
    resp_user = api_post('/v0/users/',
                         data=json.dumps(user),
                         content_type='application/json')

    resp_key = api_post('/v0/users/{}/keys'.format(resp_user['id']),
                        data=json.dumps({'app_name': 'myApp'}),
                        content_type='application/json')
    auth = {'instance_id': create_instance, 'api_id': 1}
    resp_auth = api_post('/v0/users/{}/authorizations'.format(resp_user['id']),
                         data=json.dumps(auth),
                         content_type='application/json')

    resp = api_get('/v0/users/{}'.format(resp_user['id']))

    assert len(resp['keys']) == 1
    assert resp['keys'][0]['app_name'] == 'myApp'
    assert len(resp['authorizations']) == 1
    assert resp['authorizations'][0]['instance']['name'] == 'instance'

    _, status = api_delete('/v0/users/{}'.format(resp_user['id']),
                           check=False,
                           no_json=True)
    assert status == 204
    assert mock_rabbit.called

    _, status = api_get('/v0/users/{}'.format(resp_user['id']), check=False)
    assert status == 404
def test_streetnetwork_backend_delete(default_streetnetwork_backend):
    """
    Test that a 'deleted' backend isn't returned when querying all backends, and that its 'discarded' parameter is set to True
    """
    resp = api_get('/v0/streetnetwork_backends')

    assert "pagination" in resp
    assert resp["pagination"]["current_page"] == 1
    assert resp["pagination"]["items_per_page"] == 10
    assert resp["pagination"]["total_items"] == 2

    assert "streetnetwork_backends" in resp
    assert len(resp['streetnetwork_backends']) == 2

    _, status_code = api_delete('v0/streetnetwork_backends/kraken',
                                check=False,
                                no_json=True)
    assert status_code == 204

    resp = api_get('/v0/streetnetwork_backends')
    assert "pagination" in resp
    assert resp["pagination"]["current_page"] == 1
    assert resp["pagination"]["items_per_page"] == 10
    assert resp["pagination"]["total_items"] == 1

    assert "streetnetwork_backends" in resp
    assert len(resp['streetnetwork_backends']) == 1

    resp = api_get('/v0/streetnetwork_backends/kraken')
    assert 'streetnetwork_backends' in resp
    assert resp['streetnetwork_backends']['discarded']
Beispiel #17
0
def test_delete_traveler_profile(create_instance):
    api_post('/v0/instances/fr/traveler_profiles/standard')

    _, status = api_delete('/v0/instances/fr/traveler_profiles/standard', check=False, no_json=True)
    assert status == 204

    _, status = api_get('/v0/instances/fr/traveler_profiles/standard', check=False)
    assert status == 404
Beispiel #18
0
def test_delete_billing_plan(create_billing_plan):
    """
    We start by creating a billing_plan.
    Delete the billing_plan
    """
    resp = api_get('/v0/billing_plans/{}'.format(create_billing_plan))

    _, status = api_delete('/v0/billing_plans/{}'.format(resp['id']), check=False, no_json=True)
    assert status == 204
Beispiel #19
0
def test_autocomplete_poi_types(create_two_autocomplete_parameters, minimal_poi_types_json):
    resp = api_get('/v0/autocomplete_parameters/france')
    assert resp['name'] == 'france'

    # POST a minimal conf
    resp = api_post(
        '/v0/autocomplete_parameters/france/poi_types',
        data=json.dumps(minimal_poi_types_json),
        content_type='application/json',
    )

    def test_minimal_conf(resp):
        assert len(resp['poi_types']) == 2
        assert len(resp['rules']) == 2
        bss_type = jmespath.search("poi_types[?id=='amenity:bicycle_rental']", resp)
        assert len(bss_type) == 1
        assert bss_type[0]['name'] == 'Station VLS'
        bss_rule = jmespath.search("rules[?poi_type_id=='amenity:bicycle_rental']", resp)
        assert len(bss_rule) == 1
        assert bss_rule[0]['osm_tags_filters'][0]['value'] == 'bicycle_rental'
        # check that it's not the "default" conf
        assert not jmespath.search("poi_types[?id=='amenity:townhall']", resp)

    # check that the conf is correctly set on france
    test_minimal_conf(resp)

    # check that the conf on europe is still empty
    resp = api_get('/v0/autocomplete_parameters/europe/poi_types')
    assert not resp

    # check GET of newly defined france conf
    resp = api_get('/v0/autocomplete_parameters/france/poi_types')
    test_minimal_conf(resp)

    # check DELETE of france conf
    resp, code = api_delete('/v0/autocomplete_parameters/france/poi_types', check=False, no_json=True)
    assert not resp
    assert code == 204

    # check get of conf on france is now empty
    resp = api_get('/v0/autocomplete_parameters/france/poi_types')
    assert not resp

    # check that tyr refuses incorrect conf
    resp, code = api_post(
        '/v0/autocomplete_parameters/france/poi_types',
        data=json.dumps({'poi_types': [{'id': 'bob', 'name': 'Bob'}]}),
        content_type='application/json',
        check=False,
    )
    assert code == 400
    assert resp['status'] == 'error'
    assert 'rules' in resp['message']
Beispiel #20
0
def test_delete_invalid_user(create_multiple_users, mock_rabbit):
    """
    we try to delete an invalid users, this must fail and after that we check out users to be sure
    """
    to_delete = 0
    while to_delete in create_multiple_users.values():
        to_delete = to_delete + 1
    resp, status = api_delete('/v0/users/{}'.format(to_delete), check=False, no_json=True)
    assert status == 404

    resp = api_get('/v0/users/')
    assert len(resp) == 2
    assert mock_rabbit.call_count == 0
Beispiel #21
0
def test_delete_autocomplete():
    resp = resp = api_get('/v0/autocomplete_parameters/')
    assert len(resp) == 4
    resp = api_get('/v0/autocomplete_parameters/france')
    assert resp['name'] == 'france'

    _, status = api_delete('/v0/autocomplete_parameters/france',
                           check=False,
                           no_json=True)
    assert status == 204

    _, status = api_get('/v0/autocomplete_parameters/france', check=False)
    assert status == 404
Beispiel #22
0
def test_migrate_poi_to_osm_one_instance(create_tyr_update_jobs):

    resp = api_get('/v0/instances')
    assert len(resp) == 1

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 2

    resp = api_delete('/v0/instances/{}/actions/migrate_from_poi_to_osm'.format(create_tyr_update_jobs))
    assert resp['action'] == 'All POI datasets deleted for instance {}'.format(create_tyr_update_jobs)

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 1
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] != 'poi'
Beispiel #23
0
def test_deletion_keys_and_auth(create_instance):
    """
    We start by creating the user, it's easier than using a fixture, then we delete the auth and the key
    """
    user = {'login': '******', 'email': '*****@*****.**'}
    resp_user = api_post('/v0/users/',
                         data=json.dumps(user),
                         content_type='application/json')
    api_post('/v0/users/{}/keys'.format(resp_user['id']),
             data=json.dumps({'app_name': 'myApp'}),
             content_type='application/json')
    auth = {'instance_id': create_instance, 'api_id': 1}
    api_post('/v0/users/{}/authorizations'.format(resp_user['id']),
             data=json.dumps(auth),
             content_type='application/json')
    resp = api_get('/v0/users/{}'.format(resp_user['id']))

    resp_key = api_delete('/v0/users/{user_id}/keys/{key_id}'.format(
        user_id=resp['id'], key_id=resp['keys'][0]['id']))
    assert len(resp_key['keys']) == 0
    resp_auth = api_delete('/v0/users/{}/authorizations/'.format(resp['id']),
                           data=json.dumps(auth),
                           content_type='application/json')
    assert len(resp_auth['authorizations']) == 0
Beispiel #24
0
def test_delete_billing_plan_used_by_an_user(create_user, geojson_polygon):
    """
    We start by creating the user with a shape.
    We request the user with parameter disable_geojson=false
    A default billing_plan is created and used with name = 'nav_ctp'
    We try to delete the billing_plan of this user but in vain.
    """
    resp = api_get('/v0/users/{}?disable_geojson=false'.format(create_user))

    assert resp['billing_plan']['name'] == 'nav_ctp'
    assert resp['has_shape'] is True
    assert resp['shape'] == geojson_polygon

    _, status = api_delete('/v0/billing_plans/{}'.format(resp['billing_plan']['id']), check=False, no_json=True)
    assert status == 409
Beispiel #25
0
def test_authorization_methods(create_5_users, create_instance, create_api):
    user_id = create_5_users
    full_user = api_get('/v1/users/{}'.format(user_id))
    assert len(full_user['users']['authorizations']) == 0
    auth = {'instance_id': create_instance, 'api_id': create_api}
    resp_post = api_post(
        '/v1/users/{}/authorizations'.format(user_id), data=json.dumps(auth), content_type='application/json'
    )
    assert len(resp_post['user']['authorizations']) == 1

    assert resp_post['user']['authorizations'][0]['api']['name'] == 'test_api'
    assert resp_post['user']['authorizations'][0]['instance']['name'] == 'test_instance'

    resp_delete = api_delete(
        '/v1/users/{}/authorizations'.format(user_id), data=json.dumps(auth), content_type='application/json'
    )
    assert len(resp_delete['user']['authorizations']) == 0
def test_delete_poi_type_for_one_instance(create_tyr_update_jobs):

    resp = api_get('/v0/instances')
    assert len(resp) == 1

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp["jobs"]) == 2

    # Here a job having two poi data_sets is deleted
    resp = api_delete('/v0/instances/{}/actions/delete_dataset/poi'.format(
        create_tyr_update_jobs))
    assert resp['action'] == 'All poi datasets deleted for instance {}'.format(
        create_tyr_update_jobs)

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp["jobs"]) == 1
    for dataset in resp["jobs"][0]['data_sets']:
        assert dataset['type'] != 'poi'
Beispiel #27
0
def test_delete_fusio_type_for_one_instance(create_tyr_update_jobs):

    resp = api_get('/v0/instances')
    assert len(resp) == 1

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 2

    # Here no empty job is deleted
    resp = api_delete('/v0/instances/{}/actions/delete_dataset/fusio'.format(create_tyr_update_jobs))
    assert resp['action'] == 'All fusio datasets deleted for instance {}'.format(create_tyr_update_jobs)

    resp = api_get('/v0/jobs/{}'.format(create_tyr_update_jobs))
    assert len(resp.values()[0]) == 2
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] != 'fusio'
    for dataset in resp.values()[0][0]['data_sets']:
        assert dataset['type'] == 'poi'
Beispiel #28
0
def test_equipments_provider_delete(default_equipments_config):
    """
    Test that a 'deleted' provider isn't returned when querying all providers, and that its 'discarded' parameter is set to True
    """
    resp = api_get('/v0/equipments_providers')
    assert 'equipments_providers' in resp
    assert len(resp['equipments_providers']) == 2

    _, status_code = api_delete('v0/equipments_providers/sytral', check=False, no_json=True)
    assert status_code == 204

    resp = api_get('/v0/equipments_providers')
    assert 'equipments_providers' in resp
    assert len(resp['equipments_providers']) == 1

    resp = api_get('/v0/equipments_providers/sytral')
    assert 'equipments_providers' in resp
    assert len(resp['equipments_providers']) == 1
    assert resp['equipments_providers'][0]['discarded']
Beispiel #29
0
def test_bss_provider_delete(default_config):
    resp = api_get('/v0/bss_providers')
    assert 'bss_providers' in resp
    assert len(resp['bss_providers']) == 2

    _, status = api_delete('/v0/bss_providers/velib',
                           check=False,
                           no_json=True)
    assert status == 204

    resp = api_get('/v0/bss_providers')
    assert 'bss_providers' in resp
    assert len(resp['bss_providers']) == 1
    assert resp['bss_providers'][0]['id'] == 'velov'

    # velib is still there, but not visible by default
    resp = api_get('/v0/bss_providers/velib')
    assert 'bss_providers' in resp
    assert len(resp['bss_providers']) == 1
    assert resp['bss_providers'][0]['id'] == 'velib'
    assert resp['bss_providers'][0]['discarded'] == True
Beispiel #30
0
def test_ridesharing_service_delete(default_ridesharing_service_config):
    """
    Test that a 'deleted' service isn't returned when querying all services,
    and that its 'discarded' parameter is set to True
    """
    resp = api_get('/v0/ridesharing_services')
    assert 'ridesharing_services' in resp
    assert len(resp['ridesharing_services']) == 2

    _, status_code = api_delete('v0/ridesharing_services/TestCovoiturage0',
                                check=False,
                                no_json=True)
    assert status_code == 204

    resp = api_get('/v0/ridesharing_services')
    assert 'ridesharing_services' in resp
    assert len(resp['ridesharing_services']) == 1

    resp = api_get('/v0/ridesharing_services/TestCovoiturage0')
    assert 'ridesharing_services' in resp
    assert len(resp['ridesharing_services']) == 1
    assert resp['ridesharing_services'][0]['discarded']