Exemple #1
0
def test_not_implemented(not_implemented_arg):
    url = make_url(
        "bigquery://some-project/some-dataset/?"
        + not_implemented_arg
        + "="
        + "whatever"
    )
    with pytest.raises(NotImplementedError):
        parse_url(url)
Exemple #2
0
def test_all_values(url_with_everything, param, value, default):
    url_with_this_one = make_url("bigquery://some-project/some-dataset")
    url_with_this_one.query[param] = url_with_everything.query[param]

    for url in url_with_everything, url_with_this_one:
        job_config = parse_url(url)[5]
        config_value = getattr(job_config, param)
        if callable(value):
            assert value(config_value)
        else:
            assert config_value == value

    url_with_nothing = make_url("bigquery://some-project/some-dataset")
    job_config = parse_url(url_with_nothing)[5]
    assert getattr(job_config, param) == default
def test_all_values(url_with_everything, param, value):
    job_config = parse_url(url_with_everything)[5]

    config_value = getattr(job_config, param)
    if callable(value):
        assert value(config_value)
    else:
        assert config_value == value
def test_basic(url_with_everything):
    project_id, location, dataset_id, arraysize, credentials_path, job_config = parse_url(url_with_everything)

    assert project_id == 'some-project'
    assert location == 'some-location'
    assert dataset_id == 'some-dataset'
    assert arraysize == 1000
    assert credentials_path == '/some/path/to.json'
    assert isinstance(job_config, QueryJobConfig)
Exemple #5
0
def test_only_dataset():
    url = parse_url(make_url('bigquery:///some-dataset'))
    location, dataset_id, arraysize, credentials_path, job_config = url

    assert location is None
    assert dataset_id == 'some-dataset'
    assert arraysize is None
    assert credentials_path is None
    assert isinstance(job_config, QueryJobConfig)
def test_empty_with_non_config():
    url = parse_url(make_url('bigquery:///?location=some-location&arraysize=1000&credentials_path=/some/path/to.json'))
    project_id, location, dataset_id, arraysize, credentials_path, job_config = url

    assert project_id is None
    assert location == 'some-location'
    assert dataset_id is None
    assert arraysize == 1000
    assert credentials_path == '/some/path/to.json'
    assert job_config is None
Exemple #7
0
def test_disallowed(disallowed_arg):
    url = make_url(
        "bigquery://some-project/some-dataset/?" + disallowed_arg + "=" + "whatever"
    )
    with pytest.raises(ValueError):
        parse_url(url)
Exemple #8
0
def test_empty_url():
    for value in parse_url(make_url("bigquery://")):
        assert value is None

    for value in parse_url(make_url("bigquery:///")):
        assert value is None
Exemple #9
0
def test_bad_values(param, value):
    url = make_url("bigquery:///?" + param + "=" + value)
    with pytest.raises(ValueError):
        parse_url(url)
def test_not_implemented(not_implemented_arg):
    url = make_url('bigquery://some-project/some-dataset/?' + not_implemented_arg + '=' + 'whatever')
    with pytest.raises(NotImplementedError):
        parse_url(url)
def test_disallowed(disallowed_arg):
    url = make_url('bigquery://some-project/some-dataset/?' + disallowed_arg + '=' + 'whatever')
    with pytest.raises(ValueError):
        parse_url(url)
def test_bad_values(param, value):
    url = make_url('bigquery:///?' + param + '=' + value)
    with pytest.raises(ValueError):
        parse_url(url)