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
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
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)
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)
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)
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)