Esempio n. 1
0
def test_delete_with_invalid_id_should_fail(
    cosmos_db_repository: CosmosDBRepository,
    event_context: EventContext,
    tenant_id: str,
):
    try:
        cosmos_db_repository.delete(fake.uuid4(), event_context)
    except Exception as e:
        assert type(e) is CosmosResourceNotFoundError
        assert e.status_code == 404
Esempio n. 2
0
def test_find_all_can_find_deleted_items_only_if_visibile_only_is_true(
    cosmos_db_repository: CosmosDBRepository,
    event_context: EventContext,
    sample_item: dict,
):
    deleted_item = cosmos_db_repository.delete(
        sample_item['id'], event_context
    )
    assert deleted_item is not None
    assert deleted_item['deleted'] is not None

    visible_items = cosmos_db_repository.find_all(event_context)

    assert visible_items is not None
    assert (
        any(item['id'] == sample_item['id'] for item in visible_items) == False
    ), 'The deleted item should not be visible'

    all_items = cosmos_db_repository.find_all(
        event_context, visible_only=False
    )

    assert all_items is not None
    assert any(
        item['id'] == sample_item['id'] for item in all_items
    ), 'Deleted item should be visible'
Esempio n. 3
0
def test_delete_should_not_find_element_that_is_already_deleted(
    cosmos_db_repository: CosmosDBRepository,
    event_context: EventContext,
    sample_item: dict,
):
    deleted_item = cosmos_db_repository.delete(
        sample_item['id'], event_context
    )

    assert deleted_item is not None

    try:
        cosmos_db_repository.delete(deleted_item['id'], event_context)
        fail('It should have not found the deleted item')
    except Exception as e:
        assert type(e) is CosmosResourceNotFoundError
        assert e.status_code == 404
Esempio n. 4
0
def test_find_can_find_deleted_item_only_if_visibile_only_is_true(
    cosmos_db_repository: CosmosDBRepository,
    event_context: EventContext,
    sample_item: dict,
):
    deleted_item = cosmos_db_repository.delete(
        sample_item['id'], event_context
    )

    assert deleted_item is not None
    assert deleted_item['deleted'] is not None

    try:
        cosmos_db_repository.find(sample_item['id'], event_context)
    except Exception as e:
        assert type(e) is CosmosResourceNotFoundError
        assert e.status_code == 404

    found_deleted_item = cosmos_db_repository.find(
        sample_item['id'], event_context, visible_only=False
    )
    assert found_deleted_item is not None
Esempio n. 5
0
def test_delete_with_mapper(
    cosmos_db_repository: CosmosDBRepository,
    sample_item: dict,
    event_context: EventContext,
    mapper: Callable,
    expected_type: Callable,
):
    deleted_item = cosmos_db_repository.delete(
        sample_item['id'], event_context, mapper=mapper
    )

    assert deleted_item is not None
    assert type(deleted_item) is expected_type

    try:
        cosmos_db_repository.find(
            sample_item['id'], event_context, mapper=mapper
        )
        fail('It should have not found the deleted item')
    except Exception as e:
        assert type(e) is CosmosResourceNotFoundError
        assert e.status_code == 404