def test_bulk_item_insert( postgres_core: CoreCrudClient, postgres_transactions: TransactionsClient, postgres_bulk_transactions: BulkTransactionsClient, load_test_data: Callable, ): coll = load_test_data("test_collection.json") postgres_transactions.create_collection(coll, request=MockStarletteRequest) item = load_test_data("test_item.json") items = [] for _ in range(10): _item = deepcopy(item) _item["id"] = str(uuid.uuid4()) items.append(_item) fc = postgres_core.item_collection(coll["id"], request=MockStarletteRequest) assert len(fc["features"]) == 0 postgres_bulk_transactions.bulk_item_insert(items=items) fc = postgres_core.item_collection(coll["id"], request=MockStarletteRequest) assert len(fc["features"]) == 10 for item in items: postgres_transactions.delete_item(item["id"], item["collection"], request=MockStarletteRequest)
def test_delete_item( postgres_core: CoreCrudClient, postgres_transactions: TransactionsClient, load_test_data: Callable, ): coll = Collection.parse_obj(load_test_data("test_collection.json")) postgres_transactions.create_collection(coll, request=MockStarletteRequest) item = Item.parse_obj(load_test_data("test_item.json")) postgres_transactions.create_item(item, request=MockStarletteRequest) postgres_transactions.delete_item(item.id, request=MockStarletteRequest) with pytest.raises(NotFoundError): postgres_core.get_item(item.id, request=MockStarletteRequest)
def cleanup(postgres_core: CoreCrudClient, postgres_transactions: TransactionsClient): yield collections = postgres_core.all_collections(request=MockStarletteRequest) for coll in collections: if coll.id.split("-")[0] == "test": # Delete the items items = postgres_core.item_collection( coll.id, limit=100, request=MockStarletteRequest ) for feat in items.features: postgres_transactions.delete_item(feat.id, request=MockStarletteRequest) # Delete the collection postgres_transactions.delete_collection( coll.id, request=MockStarletteRequest )
def test_bulk_item_insert( postgres_transactions: TransactionsClient, postgres_bulk_transactions: BulkTransactionsClient, load_test_data: Callable, ): coll = Collection.parse_obj(load_test_data("test_collection.json")) postgres_transactions.create_collection(coll, request=MockStarletteRequest) item = Item.parse_obj(load_test_data("test_item.json")) items = [] for _ in range(10): _item = item.dict() _item["id"] = str(uuid.uuid4()) items.append(_item) postgres_bulk_transactions.bulk_item_insert(Items(items=items)) for item in items: postgres_transactions.delete_item(item["id"], request=MockStarletteRequest)
def test_bulk_item_insert_chunked( postgres_transactions: TransactionsClient, postgres_bulk_transactions: BulkTransactionsClient, load_test_data: Callable, ): coll = load_test_data("test_collection.json") postgres_transactions.create_collection(coll, request=MockStarletteRequest) item = load_test_data("test_item.json") items = [] for _ in range(10): _item = deepcopy(item) _item["id"] = str(uuid.uuid4()) items.append(_item) postgres_bulk_transactions.bulk_item_insert(items=items, chunk_size=2) for item in items: postgres_transactions.delete_item(item["id"], item["collection"], request=MockStarletteRequest)