Example #1
0
def test_dataset_delete(ckan_client_ll):
    # Create dataset
    stage_1pre = generate_dataset()
    stage_1 = ckan_client_ll.post_dataset(stage_1pre)
    check_dataset(stage_1pre, stage_1)
    dataset_id = stage_1['id']

    # Make sure it is in the list
    dataset_ids = ckan_client_ll.list_datasets()
    assert dataset_id in dataset_ids

    # Now delete the dataset
    ckan_client_ll.delete_dataset(dataset_id)

    # Anonymous users cannot see the dataset
    anon_client = ckan_client_ll.anonymous
    dataset_ids = anon_client.list_datasets()
    assert dataset_id not in dataset_ids
    with pytest.raises(HTTPError) as excinfo:
        anon_client.get_dataset(dataset_id)
    assert excinfo.value.status_code in (403, 404)  # :(

    # Administrators can still access deleted dataset
    deleted_dataset = ckan_client_ll.get_dataset(dataset_id)
    assert deleted_dataset['state'] == 'deleted'

    # But it's still gone from the list
    dataset_ids = ckan_client_ll.list_datasets()
    assert dataset_id not in dataset_ids
def test_dataset_delete(ckan_client_ll):
    # Create dataset
    stage_1pre = generate_dataset()
    stage_1 = ckan_client_ll.post_dataset(stage_1pre)
    check_dataset(stage_1pre, stage_1)
    dataset_id = stage_1['id']

    # Make sure it is in the list
    dataset_ids = ckan_client_ll.list_datasets()
    assert dataset_id in dataset_ids

    # Now delete the dataset
    ckan_client_ll.delete_dataset(dataset_id)

    # Anonymous users cannot see the dataset
    anon_client = ckan_client_ll.anonymous
    dataset_ids = anon_client.list_datasets()
    assert dataset_id not in dataset_ids
    with pytest.raises(HTTPError) as excinfo:
        anon_client.get_dataset(dataset_id)
    assert excinfo.value.status_code in (403, 404)  # :(

    # Administrators can still access deleted dataset
    deleted_dataset = ckan_client_ll.get_dataset(dataset_id)
    assert deleted_dataset['state'] == 'deleted'

    # But it's still gone from the list
    dataset_ids = ckan_client_ll.list_datasets()
    assert dataset_id not in dataset_ids
Example #3
0
 def update_and_check(updates, expected):
     updated_dataset = ckan_client_ll.update_dataset(dataset_id, updates)
     retrieved_dataset = ckan_client_ll.get_dataset(dataset_id)
     assert updated_dataset == retrieved_dataset
     check_dataset(updated_dataset, expected)
 def update_and_check(updates, expected):
     updated_dataset = ckan_client_ll.update_dataset(dataset_id, updates)
     retrieved_dataset = ckan_client_ll.get_dataset(dataset_id)
     assert updated_dataset == retrieved_dataset
     check_dataset(updated_dataset, expected)