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')
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")
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')
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
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()
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()
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