Ejemplo n.º 1
0
def test_contributor_export(app):
    raw = post(app, '/contributors',
               '{"id": "id_test", "name":"name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201

    raw = post(app, '/contributors/id_test/actions/export', {})
    assert raw.status_code == 201
    r = to_json(raw)
    assert 'job' in r
    job = r.get('job')
    assert job.get('action_type') == 'contributor_export'

    raw_job = app.get('/jobs')
    assert raw_job.status_code == 200
    r_jobs = to_json(raw_job)
    assert len(r_jobs['jobs']) == 1
    assert r_jobs.get('jobs')[0]['id'] == job['id']

    raw_job = app.get('/jobs/{}'.format(job['id']))
    assert raw_job.status_code == 200
    r_jobs = to_json(raw_job)
    assert len(r_jobs['jobs']) == 1
    assert r_jobs.get('jobs')[0]['id'] == job['id']

    raw_job = app.get('/jobs/toto')
    assert raw_job.status_code == 404
Ejemplo n.º 2
0
def test_post_ds_two_data_source(app, contributor):
    """
    using /data_sources endpoint
    """
    post_ds = {
        "name": "data_source_name1",
        "input": {
            "type": "url",
            "url": "http://stif.com/od.zip"
        }
    }
    raw = post(app, '/contributors/id_test/data_sources', json.dumps(post_ds))
    assert raw.status_code == 201, print(to_json(raw))
    post_ds = {
        "name": "data_source_name2",
        "input": {
            "type": "url",
            "url": "http://stif.com/od.zip"
        }
    }
    raw = post(app, '/contributors/id_test/data_sources', json.dumps(post_ds))
    assert raw.status_code == 201, print(to_json(raw))

    raw = app.get('/contributors/id_test/data_sources')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["data_sources"]) == 2
    assert r["data_sources"][0]["id"] != r["data_sources"][1]["id"]
Ejemplo n.º 3
0
def test_post_ds_duplicate_two_data_source(app, contributor):
    """
    using /data_sources endpoint
    """
    post_ds = {
        "id": "duplicate_id",
        "name": "data_source_name1",
        "input": {
            "type": "url",
            "url": "http://stif.com/od.zip"
        }
    }
    raw = post(app, '/contributors/id_test/data_sources', json.dumps(post_ds))
    assert raw.status_code == 201, print(to_json(raw))
    post_ds = {
        "id": "duplicate_id",
        "name": "data_source_name2",
        "input": {
            "type": "url",
            "url": "http://stif.com/od.zip"
        }
    }
    raw = post(app, '/contributors/id_test/data_sources', json.dumps(post_ds))
    payload = to_json(raw)
    assert raw.status_code == 409, print(payload)
    assert payload['error'] == "Duplicate data_source id 'duplicate_id'"
Ejemplo n.º 4
0
def test_add_contributors_unique_data_suffix_ok(app):
    raw = post(app, '/contributors', '{"id": "id_test1", "name":"name_test1", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = post(app, '/contributors', '{"id": "id_test2", "name":"name_test2", "data_prefix":"AAB"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 2
Ejemplo n.º 5
0
def test_add_contributors_unique_data_suffix_ok(app):
    raw = post(app, '/contributors', '{"id": "id_test1", "name":"name_test1", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = post(app, '/contributors', '{"id": "id_test2", "name":"name_test2", "data_prefix":"AAB"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 2
Ejemplo n.º 6
0
def test_add_data_source(app, coverage, data_source):
    raw = post(app, '/coverages/jdr/data_sources',
               json.dumps({"id": data_source.get('id')}))
    r = to_json(raw)
    assert raw.status_code == 200
    data_sources = r.get('coverages')[0].get('data_sources')
    assert isinstance(data_sources, list)
    assert len(data_sources) == 1
    assert data_sources[0] == data_source.get('id')

    # test add existing data_source in coverage
    raw = post(app, '/coverages/jdr/data_sources',
               json.dumps({"id": data_source.get('id')}))
    r = to_json(raw)
    assert raw.status_code == 409
    assert r.get('error') == 'Data source id {} already exists in coverage jdr.'.format(data_source.get('id'))
Ejemplo n.º 7
0
def test_add_coverage_with_all_env(app):
    raw = post(app, '/coverages',
            '''{"id": "id_test", "name": "name of the coverage",
                "environments" : {
                    "preproduction": {"name": "pre", "tyr_url": "http://pre.bar/"},
                    "production": {"name": "prod", "tyr_url": "http://prod.bar/"},
                    "integration": {"name": "sim", "tyr_url": "http://int.bar/"}
                }}''')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    coverage = r["coverages"][0]
    assert coverage["id"] == "id_test"
    assert coverage["name"] == "name of the coverage"
    assert 'environments' in coverage
    assert 'production'  in coverage['environments']
    assert 'preproduction' in coverage['environments']
    assert 'integration'  in coverage['environments']
    assert coverage['environments']['preproduction']['name'] == 'pre'
    assert coverage['environments']['preproduction']['tyr_url'] == 'http://pre.bar/'
    assert coverage['environments']['production']['name'] == 'prod'
    assert coverage['environments']['production']['tyr_url'] == 'http://prod.bar/'
    assert coverage['environments']['integration']['name'] == 'sim'
    assert coverage['environments']['integration']['tyr_url'] == 'http://int.bar/'
Ejemplo n.º 8
0
def test_delete_contributors_returns_success(app):
    raw = app.get('/contributors/id_test')
    assert raw.status_code == 404

    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.delete('/contributors/id_test')
    assert raw.status_code == 204
    raw = app.get('/contributors/id_test')
    assert raw.status_code == 404

    raw = post(app, '/contributors', '{"id": "id_test2", "name": "name_test2", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 1
Ejemplo n.º 9
0
def test_post_contrib_one_data_source_with_id(app):
    '''
    using /contributors endpoint
    '''
    post_data = {"id": "id_test", "name": "name_test", "data_prefix": "AAA"}
    post_data["preprocesses"] = [{
        "id": "toto",
        "type": "Ruspell",
        "source_params": {
            "tc_data": {
                "key": "data_sources_id",
                "value": "datasource_stif"
            },
            "bano_data": {
                "key": "data_sources_id",
                "value": "bano_75"
            }
        }
    }]
    raw = post(app, '/contributors', json.dumps(post_data))
    assert raw.status_code == 201, print(to_json(raw))
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributors"][0]["preprocesses"]) == 1
Ejemplo n.º 10
0
def test_post_contrib_one_data_source_with_data_format(app):
    """
    using /contributors endpoint
    """
    post_data = {
        "id": "id_test",
        "name": "name_test",
        "data_prefix": "AAA",
        "data_sources": [
            {
                "name": "data_source_name",
                "data_format": "Neptune",
                "input": {
                    "type": "url",
                    "url": "http://stif.com/od.zip"
                }
            }
        ]
    }
    raw = post(app, '/contributors', json.dumps(post_data))
    assert raw.status_code == 201, print(to_json(raw))
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributors"][0]["data_sources"]) == 1
    assert r["contributors"][0]["data_sources"][0]["data_format"] == "Neptune"
    assert r["contributors"][0]["data_sources"][0]["input"]["type"] == "url"
    assert r["contributors"][0]["data_sources"][0]["input"]["url"] == "http://stif.com/od.zip"
Ejemplo n.º 11
0
def test_post_contrib_two_data_source(app):
    """
    using /contributors endpoint
    """
    post_data = {
        "id": "id_test",
        "name": "name_test",
        "data_prefix": "AAA",
        "data_sources": [
            {
                "name": "data_source_name",
                "input": {
                    "type": "url",
                    "url": "http://stif.com/od.zip"
                }
            },
            {
                "name": "data_source_name2",
                "input": {
                    "type": "url",
                    "url": "http://stif.com/od.zip"
                }
            }
        ]
    }
    raw = post(app, '/contributors', json.dumps(post_data))
    assert raw.status_code == 201
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributors"][0]["data_sources"]) == 2
    assert r["contributors"][0]["data_sources"][0]["id"] != r["contributors"][0]["data_sources"][1]["id"]
Ejemplo n.º 12
0
def test_delete_contributors_returns_success(app):
    raw = app.get('/contributors/id_test')
    assert raw.status_code == 404

    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.delete('/contributors/id_test')
    assert raw.status_code == 204
    raw = app.get('/contributors/id_test')
    assert raw.status_code == 404

    raw = post(app, '/contributors', '{"id": "id_test2", "name": "name_test2", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 1
Ejemplo n.º 13
0
def test_add_coverage_with_all_env(app):
    raw = post(app, '/coverages',
            '''{"id": "id_test", "name": "name of the coverage",
                "environments" : {
                    "preproduction": {"name": "pre", "tyr_url": "http://pre.bar/"},
                    "production": {"name": "prod", "tyr_url": "http://prod.bar/"},
                    "integration": {"name": "sim", "tyr_url": "http://int.bar/"}
                }}''')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    coverage = r["coverages"][0]
    assert coverage["id"] == "id_test"
    assert coverage["name"] == "name of the coverage"
    assert 'environments' in coverage
    assert 'production'  in coverage['environments']
    assert 'preproduction' in coverage['environments']
    assert 'integration'  in coverage['environments']
    assert coverage['environments']['preproduction']['name'] == 'pre'
    assert coverage['environments']['preproduction']['tyr_url'] == 'http://pre.bar/'
    assert coverage['environments']['production']['name'] == 'prod'
    assert coverage['environments']['production']['tyr_url'] == 'http://prod.bar/'
    assert coverage['environments']['integration']['name'] == 'sim'
    assert coverage['environments']['integration']['tyr_url'] == 'http://int.bar/'
Ejemplo n.º 14
0
def test_post_contrib_one_data_source_with_id(app):
    post_data = {"id": "id_test", "name":"name_test", "data_prefix":"AAA"}
    post_data["data_sources"] = []
    post_data["data_sources"].append({"id": "data_source_id", "name":"data_source_name"})
    raw = post(app, '/contributors', json.dumps(post_data))
    print(to_json(raw))
    assert raw.status_code == 400
Ejemplo n.º 15
0
def test_delete_coverage_returns_success(app):
    raw = app.get('/coverages/id_test')
    assert raw.status_code == 404

    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201
    raw = app.delete('/coverages/id_test')
    assert raw.status_code == 204
    raw = app.get('/coverages/id_test')
    assert raw.status_code == 404

    raw = post(app, '/coverages', '{"id": "id_test2", "name": "name_test2"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
Ejemplo n.º 16
0
def test_delete_coverage_returns_success(app):
    raw = app.get('/coverages/id_test')
    assert raw.status_code == 404

    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201
    raw = app.delete('/coverages/id_test')
    assert raw.status_code == 204
    raw = app.get('/coverages/id_test')
    assert raw.status_code == 404

    raw = post(app, '/coverages', '{"id": "id_test2", "name": "name_test2"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
Ejemplo n.º 17
0
def test_patch_contrib_data_source_with_full_contributor(app):
    """
    using /contributors endpoint
    """
    post_data = {
        "id": "id_test",
        "name": "name_test",
        "data_prefix": "AAA",
        "data_sources": [
            {
                "name": "data_source_name",
                "input": {
                    "type": "url",
                    "url": "http://stif.com/od.zip"
                }
            }
        ]
    }
    raw = post(app, '/contributors', json.dumps(post_data))
    r = to_json(raw)
    assert raw.status_code == 201, print(r)
    r["contributors"][0]["data_sources"][0]["name"] = "name_modified"
    raw = patch(app, '/contributors/id_test', json.dumps(r["contributors"][0]))
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributors"][0]["data_sources"]) == 1
    patched_data_source = r["contributors"][0]["data_sources"][0]
    assert patched_data_source["name"] == "name_modified"
Ejemplo n.º 18
0
def test_patch_one_data_source_name_of_two_and_add_one(app):
    post_data = {"id": "id_test", "name":"name_test", "data_prefix":"AAA"}
    post_data["data_sources"] = []
    post_data["data_sources"].append({"name":"data_source_name", "data_format":"Neptune"})
    post_data["data_sources"].append({"name":"data_source_2", "data_format":"Neptune"})
    raw = post(app, '/contributors', json.dumps(post_data))
    r = to_json(raw)
    print("created contrib : ")
    print(r)
    assert raw.status_code == 201, print(r)
    new_data_source = {}
    new_data_source["id"] = r["contributor"]["data_sources"][1]["id"]
    new_data_source["name"] = "name_modified"
    r["contributor"]["data_sources"][0] = new_data_source
    data_source_list = {}
    data_source_list["data_sources"] = [new_data_source, {"name":"data_source_3"}]
    print("patching data with ", json.dumps(data_source_list))
    raw = patch(app, '/contributors/id_test', json.dumps(data_source_list))
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributor"]["data_sources"]) == 3
    patched_data_sources = r["contributor"]["data_sources"]
    assert patched_data_sources[0]["data_format"] == "Neptune"
    assert patched_data_sources[1]["data_format"] == "Neptune"
    assert patched_data_sources[2]["data_format"] == "gtfs"
    assert patched_data_sources[0]["name"] == "data_source_name"
    assert patched_data_sources[1]["name"] == "name_modified"
    assert patched_data_sources[2]["name"] == "data_source_3"
Ejemplo n.º 19
0
def test_update_contributor_data_prefix_error(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201

    raw = patch(app, '/contributors/id_test', '{"data_prefix": "AAB"}')
    r = to_json(raw)

    assert raw.status_code == 400
Ejemplo n.º 20
0
def test_add_coverage_no_name(app):
    raw = post(app, '/coverages', '{"id": "id_test"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 0
Ejemplo n.º 21
0
def test_add_coverage_no_name(app):
    raw = post(app, '/coverages', '{"id": "id_test"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 0
Ejemplo n.º 22
0
def test_update_id_impossible(app):
    """It should not be possible to update the id of an object"""
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201
    raw = patch(app, '/coverages/id_test', '{"id": "bob"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
Ejemplo n.º 23
0
def test_add_coverage_no_prefix(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 0
Ejemplo n.º 24
0
def test_post_contrib_no_data_source(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    print(r)
    assert raw.status_code == 200
    assert len(r["contributors"][0]["data_sources"]) == 0
Ejemplo n.º 25
0
def test_update_contributor_data_prefix_error(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201

    raw = patch(app, '/contributors/id_test', '{"data_prefix": "AAB"}')
    r = to_json(raw)

    assert raw.status_code == 400
Ejemplo n.º 26
0
def test_update_contributor_id_impossible(app):
    """It should not be possible to update the id of an object"""
    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = patch(app, '/contributors/id_test', '{"id": "bob"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
Ejemplo n.º 27
0
def test_add_coverage_no_prefix(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test"}')
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400
    raw = app.get('/contributors')
    r = to_json(raw)
    assert len(r["contributors"]) == 0
Ejemplo n.º 28
0
def test_post_contrib_no_data_source(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    print(r)
    assert raw.status_code == 200
    assert len(r["contributor"]["data_sources"]) == 0
Ejemplo n.º 29
0
def test_add_coverage_with_env_invalid_url(app):
    raw = post(app, '/coverages',
            '''{"id": "id_test", "name": "name of the coverage",
                "environments" : {"notvalidenv": {"name": "pre", "tyr_url": "foo"}}}''')

    assert raw.status_code == 400
    r = to_json(raw)
    assert 'error' in r
    assert 'environments' in r['error']
Ejemplo n.º 30
0
def test_add_coverage_with_env_invalid_url(app):
    raw = post(app, '/coverages',
            '''{"id": "id_test", "name": "name of the coverage",
                "environments" : {"notvalidenv": {"name": "pre", "tyr_url": "foo"}}}''')
    print(raw.data)
    assert raw.status_code == 400
    r = to_json(raw)
    assert 'error' in r
    assert 'environments' in r['error']
Ejemplo n.º 31
0
def test_update_coverage_forbid_unkown_field(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "foo": "bar"}')
    r = to_json(raw)

    assert raw.status_code == 400
    assert 'error' in r
Ejemplo n.º 32
0
def test_update_coverage_forbid_unkown_field(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "foo": "bar"}')
    r = to_json(raw)

    assert raw.status_code == 400
    assert 'error' in r
Ejemplo n.º 33
0
def test_update_contributor_name(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201

    raw = patch(app, '/contributors/id_test', '{"name": "new_name_test"}')
    r = to_json(raw)

    assert raw.status_code == 200
    assert r["contributors"][0]['id'] == "id_test"
    assert r["contributors"][0]['name'] == "new_name_test"
Ejemplo n.º 34
0
def test_update_coverage_returns_success_status(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test"}')
    r = to_json(raw)

    assert raw.status_code == 200
    assert r["coverage"]['id'] == "id_test"
    assert r["coverage"]['name'] == "new_name_test"
Ejemplo n.º 35
0
def test_update_coverage_returns_success_status(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test"}')
    r = to_json(raw)

    assert raw.status_code == 200
    assert r["coverages"][0]['id'] == "id_test"
    assert r["coverages"][0]['name'] == "new_name_test"
Ejemplo n.º 36
0
def test_update_contributor_name(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name": "name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201

    raw = patch(app, '/contributors/id_test', '{"name": "new_name_test"}')
    r = to_json(raw)

    assert raw.status_code == 200
    assert r["contributor"]['id'] == "id_test"
    assert r["contributor"]['name'] == "new_name_test"
Ejemplo n.º 37
0
def test_add_coverage_with_name(app):
    raw = post(app, '/coverages',
            '{"id": "id_test", "name": "name of the coverage"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    assert r["coverages"][0]["id"] == "id_test"
    assert r["coverages"][0]["name"] == "name of the coverage"
Ejemplo n.º 38
0
def test_add_coverage_with_name(app):
    raw = post(app, '/coverages',
            '{"id": "id_test", "name": "name of the coverage"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    assert r["coverages"][0]["id"] == "id_test"
    assert r["coverages"][0]["name"] == "name of the coverage"
Ejemplo n.º 39
0
def test_add_contributor_returns_success(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)

    assert len(r["contributors"]) == 1
    assert isinstance(r["contributors"], list)
    assert r["contributors"][0]["id"] == "id_test"
    assert r["contributors"][0]["name"] == "name_test"
    assert r["contributors"][0]["data_prefix"] == "AAA"
Ejemplo n.º 40
0
def test_add_contributor_returns_success(app):
    raw = post(app, '/contributors', '{"id": "id_test", "name":"name_test", "data_prefix":"AAA"}')
    assert raw.status_code == 201
    raw = app.get('/contributors')
    r = to_json(raw)

    assert len(r["contributors"]) == 1
    assert isinstance(r["contributors"], list)
    assert r["contributors"][0]["id"] == "id_test"
    assert r["contributors"][0]["name"] == "name_test"
    assert r["contributors"][0]["data_prefix"] == "AAA"
Ejemplo n.º 41
0
def test_update_coverage_forbid_unkown_environments_type(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "environments": {"integration": {"name": "bar"}}}')
    assert raw.status_code == 200

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "environments": {"bar": {"name": "bar"}}}')
    assert raw.status_code == 400
    r = to_json(raw)
    assert 'error' in r
Ejemplo n.º 42
0
def test_update_coverage_forbid_unkown_environments_type(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "environments": {"integration": {"name": "bar"}}}')
    assert raw.status_code == 200

    raw = patch(app, '/coverages/id_test', '{"name": "new_name_test", "environments": {"bar": {"name": "bar"}}}')
    assert raw.status_code == 400
    r = to_json(raw)
    assert 'error' in r
Ejemplo n.º 43
0
def test_post_contrib_one_data_source_without_id(app):
    post_data = {"id": "id_test", "name":"name_test", "data_prefix":"AAA"}
    post_data["data_sources"] = []
    post_data["data_sources"].append({"name":"data_source_name"})
    raw = post(app, '/contributors', json.dumps(post_data))
    print(to_json(raw))
    assert raw.status_code == 201
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    print(r)
    assert raw.status_code == 200
    assert len(r["contributor"]["data_sources"]) == 1
Ejemplo n.º 44
0
def tast_png(client, sample):
    job_id = None

    # Request rendering of a png
    with post(client, '/render/png:small', sample) as (resp, json):
        assert json['status'] == 'queued'
        assert json['map_id'] == 'test123'
        assert json['file_type'] == 'png:small'
        assert json['version'] == VERSION
        assert 'job_id' in json
        job_id = json['job_id']

    # seems we need to wait a bit so it has been queued
    sleep(0.1)

    # Check if render of same data is not done twice
    with post(client, '/render/png:small', sample) as (resp, json):
        assert 'job_id' in json
        assert job_id == json['job_id']

    assert wait_until_finished(client, job_id)

    # Retry - Check if finished (and is reuses old job - not enqeueud as new
    # job)
    with post(client, '/render/png:small', sample) as (resp, json):
        assert 'job_id' in json
        assert job_id == json['job_id']
        assert json['status'] == 'finished'

    # Download with version
    url = '/download/test123_{}.png:small'.format(VERSION)
    with get(client, url) as (resp, data):
        assert resp.status_code == 200

    # Download latest (without version)
    with get(client, '/download/test123.png:small') as (resp, data):
        assert resp.status_code == 200
        assert len(data) > 0
        assert imghdr.what(None, data) == 'png'
Ejemplo n.º 45
0
def test_post_ds_one_data_source_without_input(app, contributor):
    """
    using /data_sources endpoint
    """
    post_ds = {"name": "data_source_name"}
    raw = post(app, '/contributors/id_test/data_sources', json.dumps(post_ds))
    r = to_json(raw)
    assert 'error' in r
    assert raw.status_code == 400, print(to_json(raw))

    raw = app.get('/contributors/id_test/data_sources')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["data_sources"]) == 0
Ejemplo n.º 46
0
def test_add_coverage_returns_success(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name":"name_test"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)

    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    coverage = r["coverages"][0]
    assert coverage["id"] == "id_test"
    assert coverage["name"] == "name_test"
    #A default environment should have been created
    assert 'environments' in coverage
    assert 'production' in coverage['environments']
    assert coverage['environments']['production']['name'] == 'production'
    assert coverage['environments']['production']['tyr_url'] == 'http://tyr.prod/v0/coverage/id_test/'
Ejemplo n.º 47
0
def test_add_coverage_returns_success(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name":"name_test"}')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)

    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    coverage = r["coverages"][0]
    assert coverage["id"] == "id_test"
    assert coverage["name"] == "name_test"
    #A default environment should have been created
    assert 'environments' in coverage
    assert 'production' in coverage['environments']
    assert coverage['environments']['production']['name'] == 'production'
    assert coverage['environments']['production']['tyr_url'] == 'http://tyr.prod/v0/coverage/id_test/'
Ejemplo n.º 48
0
def test_patch_simple_coverage(app):
    raw = post(app, '/coverages',
               '''{"id": "id_test", "name": "name of the coverage"}''')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    assert r["coverages"][0]["id"] == "id_test"
    assert r["coverages"][0]["name"] == "name of the coverage"

    raw = patch(app, '/coverages/id_test', '{"name": "new name"}')
    assert raw.status_code == 200
    r = to_json(raw)
    assert r["coverage"]["id"] == "id_test"
    assert r["coverage"]["name"] == "new name"
Ejemplo n.º 49
0
def test_patch_simple_coverage(app):
    raw = post(app, '/coverages',
               '''{"id": "id_test", "name": "name of the coverage"}''')
    assert raw.status_code == 201
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    assert r["coverages"][0]["id"] == "id_test"
    assert r["coverages"][0]["name"] == "name of the coverage"

    raw = patch(app, '/coverages/id_test', '{"name": "new name"}')
    assert raw.status_code == 200
    r = to_json(raw)
    assert r["coverages"][0]["id"] == "id_test"
    assert r["coverages"][0]["name"] == "new name"
Ejemplo n.º 50
0
def test_patch_data_source_with_full_contributor(app):
    post_data = {"id": "id_test", "name":"name_test", "data_prefix":"AAA"}
    post_data["data_sources"] = []
    post_data["data_sources"].append({"name":"data_source_name"})
    raw = post(app, '/contributors', json.dumps(post_data))
    r = to_json(raw)
    assert raw.status_code == 201, print(r)
    r["contributor"]["data_sources"][0]["name"] = "name_modified"
    print("patching data with ", json.dumps(r["contributor"]))
    raw = patch(app, '/contributors/id_test', json.dumps(r["contributor"]))
    r = to_json(raw)
    print(r)
    assert raw.status_code == 200, print(r)
    assert len(r["contributor"]["data_sources"]) == 1
    patched_data_source = r["contributor"]["data_sources"][0]
    assert patched_data_source["name"] == "name_modified"
Ejemplo n.º 51
0
def test_pdf(client, sample):
    job_id = None

    # Request rendering of a pdf
    with post(client, '/render/pdf', sample) as (resp, json):
        assert json['status'] == 'queued'
        job_id = json['job_id']

    assert wait_until_finished(client, job_id)

    # Download with version
    url = '/download/test123_{}.pdf'.format(VERSION)
    with get(client, url) as (resp, data):
        assert resp.status_code == 200
        assert len(data) > 0
        with BytesIO(data) as f:
            PdfFileReader(f)
Ejemplo n.º 52
0
def test_update_preprocess_with_id(app):
    '''
    using /contributors endpoint
    '''
    post_data = {"id": "id_test", "name": "name_test", "data_prefix": "AAA"}
    post_data["preprocesses"] = [{
        "id": "toto",
        "type": "Ruspell",
        "source_params": {
            "tc_data": {
                "key": "data_sources_id",
                "value": "datasource_stif"
            },
            "bano_data": {
                "key": "data_sources_id",
                "value": "bano_75"
            }
        }
    }]
    raw = post(app, '/contributors', json.dumps(post_data))
    assert raw.status_code == 201, print(to_json(raw))
    raw = app.get('/contributors/id_test/')
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["contributors"][0]["preprocesses"]) == 1
    preprocess_id = r["contributors"][0]["preprocesses"][0]["id"]
    new_preprocess = {
        "type": "ComputeDirections",
        "source_params": {
            "tc_data": {
                "key": "data_sources.data_format",
                "value": "gtfs"
            }
        }
    }

    raw = patch(app,
                '/contributors/id_test/preprocesses/{}'.format(preprocess_id),
                json.dumps(new_preprocess))
    r = to_json(raw)
    assert raw.status_code == 200, print(r)
    assert len(r["preprocesses"]) == 1
    assert r["preprocesses"][0]["type"] == new_preprocess["type"]
    assert r["preprocesses"][0]["source_params"] == new_preprocess[
        "source_params"]
Ejemplo n.º 53
0
def test_update_coverage__env(app):
    raw = post(app, '/coverages', '{"id": "id_test", "name": "name_test"}')
    assert raw.status_code == 201

    raw = patch(app, '/coverages/id_test',
            '''{"environments" : {
                    "preproduction": {"name": "pre", "tyr_url": "http://pre.bar/"},
                    "production": null
                }}''')
    print(raw.data)
    assert raw.status_code == 200
    raw = app.get('/coverages')
    r = to_json(raw)
    assert len(r["coverages"]) == 1
    assert isinstance(r["coverages"], list)
    coverage = r["coverages"][0]
    assert coverage["id"] == "id_test"
    assert coverage["name"] == "name_test"
    assert 'environments' in coverage
    assert 'production' not in coverage['environments']
    assert 'preproduction' in coverage['environments']
    assert coverage['environments']['preproduction']['name'] == 'pre'
    assert coverage['environments']['preproduction']['tyr_url'] == 'http://pre.bar/'