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