Files
scylladb/test/cluster/object_store/conftest.py
Ernest Zaslavsky 9faaf1f09c test: extract object storage helpers to test/pylib/object_storage.py
Move S3/GCS server classes (S3Server, MinioWrapper, GSFront, GSServer),
factory functions (create_s3_server, create_gs_server), CQL helpers
(format_tuples, keyspace_options), bucket naming (_make_bucket_name),
and the s3_server fixture from test/cluster/object_store/conftest.py
into a shared module at test/pylib/object_storage.py.
The conftest.py is now a thin wrapper that re-exports symbols and
defines only the fixtures specific to the object_store suite
(object_storage, s3_storage).  All external importers are updated.
Old class names (S3_Server, GSServer) are kept as aliases for
backward compatibility.
2026-04-21 19:08:57 +03:00

61 lines
1.4 KiB
Python

#
# Copyright (C) 2023-present ScyllaDB
#
# SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
#
import pytest
from test.pylib.suite.python import add_s3_options
from test.pylib.object_storage import (
format_tuples,
keyspace_options,
create_s3_server,
create_gs_server,
GSFront,
GSServer,
S3Server,
S3_Server,
MinioWrapper,
s3_server,
)
def pytest_addoption(parser):
add_s3_options(parser)
@pytest.fixture(scope="function", params=['s3', 'gs'])
async def object_storage(request, pytestconfig, tmpdir):
if request.param == 'gs':
server = create_gs_server(tmpdir)
else:
server = create_s3_server(pytestconfig, tmpdir)
bucket_created = False
try:
await server.start()
server.create_test_bucket(request.node.name)
bucket_created = True
yield server
finally:
if bucket_created:
server.destroy_test_bucket()
await server.stop()
@pytest.fixture(scope="function")
async def s3_storage(request, pytestconfig, tmpdir):
server = create_s3_server(pytestconfig, tmpdir)
bucket_created = False
try:
await server.start()
server.create_test_bucket(request.node.name)
bucket_created = True
yield server
finally:
if bucket_created:
server.destroy_test_bucket()
await server.stop()