|
15 | 15 | from weaviate.connect.base import ConnectionParams, ProtocolParams |
16 | 16 | from weaviate.proto.v1 import ( |
17 | 17 | batch_pb2, |
| 18 | + batch_delete_pb2, |
18 | 19 | properties_pb2, |
19 | 20 | tenants_pb2, |
20 | 21 | search_get_pb2, |
@@ -310,3 +311,42 @@ def retries( |
310 | 311 | service = MockRetriesWeaviateService() |
311 | 312 | weaviate_pb2_grpc.add_WeaviateServicer_to_server(service, start_grpc_server) |
312 | 313 | return weaviate_client.collections.get("RetriesCollection"), service |
| 314 | + |
| 315 | + |
| 316 | +class MockForbiddenWeaviateService(weaviate_pb2_grpc.WeaviateServicer): |
| 317 | + def Search( |
| 318 | + self, request: search_get_pb2.SearchRequest, context: grpc.ServicerContext |
| 319 | + ) -> search_get_pb2.SearchReply: |
| 320 | + context.set_code(grpc.StatusCode.PERMISSION_DENIED) |
| 321 | + context.set_details("Permission denied") |
| 322 | + return search_get_pb2.SearchReply() |
| 323 | + |
| 324 | + def TenantsGet( |
| 325 | + self, request: tenants_pb2.TenantsGetRequest, context: ServicerContext |
| 326 | + ) -> tenants_pb2.TenantsGetReply: |
| 327 | + context.set_code(grpc.StatusCode.PERMISSION_DENIED) |
| 328 | + context.set_details("Permission denied") |
| 329 | + return tenants_pb2.TenantsGetReply() |
| 330 | + |
| 331 | + def BatchObjects( |
| 332 | + self, request: batch_pb2.BatchObjectsRequest, context: grpc.ServicerContext |
| 333 | + ) -> batch_pb2.BatchObjectsReply: |
| 334 | + context.set_code(grpc.StatusCode.PERMISSION_DENIED) |
| 335 | + context.set_details("Permission denied") |
| 336 | + return batch_pb2.BatchObjectsReply() |
| 337 | + |
| 338 | + def BatchDelete( |
| 339 | + self, request: batch_delete_pb2.BatchDeleteRequest, context: grpc.ServicerContext |
| 340 | + ) -> batch_delete_pb2.BatchDeleteReply: |
| 341 | + context.set_code(grpc.StatusCode.PERMISSION_DENIED) |
| 342 | + context.set_details("Permission denied") |
| 343 | + return batch_delete_pb2.BatchDeleteReply() |
| 344 | + |
| 345 | + |
| 346 | +@pytest.fixture(scope="function") |
| 347 | +def forbidden( |
| 348 | + weaviate_client: weaviate.WeaviateClient, start_grpc_server: grpc.Server |
| 349 | +) -> weaviate.collections.Collection: |
| 350 | + service = MockForbiddenWeaviateService() |
| 351 | + weaviate_pb2_grpc.add_WeaviateServicer_to_server(service, start_grpc_server) |
| 352 | + return weaviate_client.collections.get("ForbiddenCollection") |
0 commit comments