コード例 #1
0
def test_dataset_info_returns_false_when_key_data_is_missing():
    from dtool_lookup_server.utils import dataset_info_is_valid

    for key in INFO.keys():

        info = INFO.copy()
        del info[key]
        assert not dataset_info_is_valid(info), key
コード例 #2
0
def register():
    """Register a dataset. The user needs to have register permissions."""
    username = get_jwt_identity()
    dataset_info = request.get_json()

    try:
        user = get_user_obj(username)
    except AuthenticationError:
        # User not registered in system.
        abort(401)

    if not dataset_info_is_valid(dataset_info):
        abort(409)

    try:
        base_uri = get_base_uri_obj(dataset_info["base_uri"])
    except ValidationError:
        abort(409)

    if base_uri not in user.register_base_uris:
        abort(401)

    dataset_uri = register_dataset(dataset_info)
    return dataset_uri, 201
コード例 #3
0
def test_dataset_info_is_valid_returns_false_if_base_uri_ends_with_slash():
    from dtool_lookup_server.utils import dataset_info_is_valid

    info = INFO.copy()
    info["base_uri"] = "file:///tmp/"
    assert not dataset_info_is_valid(info)
コード例 #4
0
def test_dataset_info_returns_false_if_uuid_looks_invalid():
    from dtool_lookup_server.utils import dataset_info_is_valid

    info = INFO.copy()
    info["uuid"] = "af6727bf-29c7-43dd-b42f"
    assert not dataset_info_is_valid(info)
コード例 #5
0
def test_dataset_info_returns_false_when_type_is_not_dataset():
    from dtool_lookup_server.utils import dataset_info_is_valid

    info = INFO.copy()
    info["type"] = "protodataset"
    assert not dataset_info_is_valid(info)
コード例 #6
0
def test_dataset_info_is_valid_returns_true_on_valid_info():
    from dtool_lookup_server.utils import dataset_info_is_valid

    info = INFO.copy()
    assert dataset_info_is_valid(info)