Esempio n. 1
0
def test_upload_file():
    with requests_mock.Mocker() as m, StringIO('myfile') as stream:
        m.post('http://test.com/', text='ok')
        upload_file('http://test.com/', 'test.txt', stream)
        assert m.called
        assert len(m.request_history) == 1
        request = m.request_history[0]
        assert request.method == 'POST'
        assert request.url == 'http://test.com/'
Esempio n. 2
0
def test_upload_file():
    with requests_mock.Mocker() as m, StringIO('myfile') as stream:
        m.post('http://test.com/', text='ok')
        upload_file('http://test.com/', 'test.txt', stream)
        assert m.called
        assert len(m.request_history) == 1
        request = m.request_history[0]
        assert request.method == 'POST'
        assert request.url == 'http://test.com/'
Esempio n. 3
0
def send_ntfs_to_tyr(self, coverage_id, environment_type):
    coverage = models.Coverage.get(coverage_id)
    url = coverage.environments[environment_type].tyr_url
    ntfs_file = models.get_file_from_gridfs(coverage.environments[environment_type].current_ntfs_id)
    grid_calendars_file = coverage.get_grid_calendars()
    response = None
    if grid_calendars_file:
        with tempfile.TemporaryDirectory() as tmpdirname:
            output_ntfs_file = os.path.join(tmpdirname, '{}-database.zip'\
                    .format(datetime.datetime.now().strftime("%Y%m%d%H%M%S")))
            logger.debug("Working to generate [{}]".format(output_ntfs_file))
            _do_merge_calendar(grid_calendars_file, ntfs_file, output_ntfs_file)
            logger.info('trying to send data to %s', url)
            #TODO: how to handle the timeout?
            with open(output_ntfs_file, 'rb') as file:
                response = upload_file(url, output_ntfs_file, file)
    else:
        response = upload_file(url, ntfs_file.filename, ntfs_file)

    if response.status_code != 200:
        raise self.retry()
Esempio n. 4
0
def send_ntfs_to_tyr(self, coverage_id, environment_type):
    coverage = models.Coverage.get(coverage_id)
    url = coverage.environments[environment_type].tyr_url
    ntfs_file = models.get_file_from_gridfs(
        coverage.environments[environment_type].current_ntfs_id)
    grid_calendars_file = coverage.get_grid_calendars()
    response = None
    if grid_calendars_file:
        with tempfile.TemporaryDirectory() as tmpdirname:
            output_ntfs_file = os.path.join(tmpdirname, '{}-database.zip'\
                    .format(datetime.datetime.now().strftime("%Y%m%d%H%M%S")))
            logger.debug("Working to generate [{}]".format(output_ntfs_file))
            _do_merge_calendar(grid_calendars_file, ntfs_file,
                               output_ntfs_file)
            logger.info('trying to send data to %s', url)
            #TODO: how to handle the timeout?
            with open(output_ntfs_file, 'rb') as file:
                response = upload_file(url, output_ntfs_file, file)
    else:
        response = upload_file(url, ntfs_file.filename, ntfs_file)

    if response.status_code != 200:
        raise self.retry()
Esempio n. 5
0
def send_file_to_tyr_and_discard(self, coverage_id, environment_type, file_id):
    coverage = models.Coverage.get(coverage_id)
    url = coverage.environments[environment_type].tyr_url
    file = models.get_file_from_gridfs(file_id)
    logging.debug('file: %s', file)
    logger.info('trying to send %s to %s', file.filename, url)
    #TODO: how to handle timeout?
    try:
        response = upload_file(url, file.filename, file)
        if response.status_code != 200:
            raise self.retry()
        else:
            models.delete_file_from_gridfs(file_id)
    except:
        logging.exception('error')
Esempio n. 6
0
def send_file_to_tyr_and_discard(self, coverage_id, environment_type, file_id):
    coverage = models.Coverage.get(coverage_id)
    url = coverage.environments[environment_type].tyr_url
    file = models.get_file_from_gridfs(file_id)
    logging.debug('file: %s', file)
    logger.info('trying to send %s to %s', file.filename, url)
    #TODO: how to handle timeout?
    try:
        response = upload_file(url, file.filename, file)
        if response.status_code != 200:
            raise self.retry()
        else:
            models.delete_file_from_gridfs(file_id)
    except:
        logging.exception('error')