def test_post_ntfs_mocked(app, coverage_obj, mocker):
    #create ZIP file with fixture before sending it
    m = mocker.patch.object(send_ntfs_to_tyr, 'delay')
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        raw = app.post('/coverages/test/environments/production/data_update', data=files)
        assert m.called
        r = to_json(raw)
        assert raw.status_code == 200
        assert r.get('message').startswith('Valid fusio file provided')
def test_post_ntfs_success(app, coverage_obj):
    #create ZIP file with fixture before sending it
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post('http://tyr.prod/v0/instances/test', text='ok')
            raw = app.post('/coverages/test/environments/production/data_update', data=files)
            assert m.called
        r = to_json(raw)
        assert raw.status_code == 200
        assert r.get('message').startswith('Valid fusio file provided')
def test_post_ntfs_mocked(app, coverage_obj, mocker):
    #create ZIP file with fixture before sending it
    m = mocker.patch.object(send_ntfs_to_tyr, 'delay')
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        raw = app.post('/coverages/test/environments/production/data_update',
                       data=files)
        assert m.called
        r = to_json(raw)
        assert raw.status_code == 200
        assert r.get('message').startswith('Valid fusio file provided')
def test_post_ntfs_success(app, coverage_obj):
    #create ZIP file with fixture before sending it
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post('http://tyr.prod/v0/instances/test', text='ok')
            raw = app.post(
                '/coverages/test/environments/production/data_update',
                data=files)
            assert m.called
        r = to_json(raw)
        assert raw.status_code == 200
        assert r.get('message').startswith('Valid fusio file provided')
Esempio n. 5
0
def test_get_ntfs_bad_requedted_type(app, coverage_obj, fixture_dir):
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {"file": (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post("http://tyr.prod/v0/instances/test", text="ok")
            raw = app.post("/coverages/test/environments/production/data_update", data=files)
        r = to_json(raw)
        assert r["message"].startswith("Valid fusio file provided")
        raw = app.get("/coverages/test/environments/production/data/ntfs_error")
        r = to_json(raw)
        assert raw.status_code == 404
        print(r["message"])
        assert r["message"].startswith("bad data type")
Esempio n. 6
0
def test_get_ntfs_bad_requedted_type(app, coverage_obj, fixture_dir):
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post('http://tyr.prod/v0/instances/test', text='ok')
            raw = app.post(
                '/coverages/test/environments/production/data_update',
                data=files)
        r = to_json(raw)
        assert r['message'].startswith('Valid fusio file provided')
        raw = app.get(
            '/coverages/test/environments/production/data/ntfs_error')
        r = to_json(raw)
        assert raw.status_code == 400
        assert r["error"].startswith('Bad data type')
Esempio n. 7
0
def test_update_calendar_data_with_last_ntfs_after_post(app, coverage_obj, fixture_dir):
    """
    we have a ntfs for the coverage, when we publish a new gris_calendar we want a ntfs to be generated for tyr
    """
    calendar_file = os.path.join(fixture_dir, 'gridcalendar/export_calendars.zip')
    with get_valid_ntfs_memory_archive() as (filename, ntfs_file):
        coverage_obj.save_ntfs('production', ntfs_file)

    import logging
    logging.debug('file %s',coverage_obj.environments['production'].current_ntfs_id)
    with requests_mock.Mocker() as m:
        m.post('http://tyr.prod/v0/instances/test', text='ok')
        files = {'file': (open(calendar_file, 'rb'), 'export_calendars.zip')}
        raw = app.post('/coverages/{}/grid_calendar'.format(coverage_obj.id), data=files)
        assert raw.status_code == 200
        assert m.called
Esempio n. 8
0
def test_get_ntfs_file_ok(app, coverage_obj, fixture_dir):
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {"file": (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post("http://tyr.prod/v0/instances/test", text="ok")
            raw = app.post("/coverages/test/environments/production/data_update", data=files)
        r = to_json(raw)
        assert r["message"].startswith("Valid fusio file provided")
        raw = app.get("/coverages/test/environments/production/data/ntfs")
        assert raw.status_code == 200
        assert raw.mimetype == "application/zip"
        data = raw.get_data()
        with BytesIO(data) as ntfs_zip_memory:
            ntfs_zip = ZipFile(ntfs_zip_memory, "r", ZIP_DEFLATED, False)
            assert ntfs_zip.testzip() is None
            ntfs_zip.close()
Esempio n. 9
0
def test_get_ntfs_file_ok(app, coverage_obj, fixture_dir):
    with get_valid_ntfs_memory_archive() as (ntfs_file_name, ntfs_zip_memory):
        files = {'file': (ntfs_zip_memory, ntfs_file_name)}
        with requests_mock.Mocker() as m:
            m.post('http://tyr.prod/v0/instances/test', text='ok')
            raw = app.post(
                '/coverages/test/environments/production/data_update',
                data=files)
        r = to_json(raw)
        assert r['message'].startswith('Valid fusio file provided')
        raw = app.get('/coverages/test/environments/production/data/ntfs')
        assert raw.status_code == 200
        assert raw.mimetype == 'application/zip'
        data = raw.get_data()
        with BytesIO(data) as ntfs_zip_memory:
            ntfs_zip = ZipFile(ntfs_zip_memory, 'r', ZIP_DEFLATED, False)
            assert ntfs_zip.testzip() is None
            ntfs_zip.close()
Esempio n. 10
0
def test_update_calendar_data_with_last_ntfs_after_post(
        app, coverage_obj, fixture_dir):
    """
    we have a ntfs for the coverage, when we publish a new gris_calendar we want a ntfs to be generated for tyr
    """
    calendar_file = os.path.join(fixture_dir,
                                 'gridcalendar/export_calendars.zip')
    with get_valid_ntfs_memory_archive() as (filename, ntfs_file):
        coverage_obj.save_ntfs('production', ntfs_file)

    import logging
    logging.debug('file %s',
                  coverage_obj.environments['production'].current_ntfs_id)
    with requests_mock.Mocker() as m:
        m.post('http://tyr.prod/v0/instances/test', text='ok')
        files = {'file': (open(calendar_file, 'rb'), 'export_calendars.zip')}
        raw = app.post('/coverages/{}/grid_calendar'.format(coverage_obj.id),
                       data=files)
        assert raw.status_code == 200
        assert m.called