test: Speed up test_gcs_file_workspace

- Change the GCS workspace fixture to module level so it is only built and torn down once. This saves 30-40s on a test run.
This commit is contained in:
Reinier van der Leer
2023-12-14 02:31:05 +01:00
parent 5107c6bbb9
commit 167fea3f1e

View File

@@ -16,12 +16,12 @@ except GoogleAuthError:
pytest.skip("Google Cloud Authentication not configured", allow_module_level=True)
@pytest.fixture
@pytest.fixture(scope="module")
def gcs_bucket_name() -> str:
return f"test-bucket-{str(uuid.uuid4())[:8]}"
@pytest.fixture
@pytest.fixture(scope="module")
def gcs_workspace_uninitialized(gcs_bucket_name: str) -> GCSFileWorkspace:
os.environ["WORKSPACE_STORAGE_BUCKET"] = gcs_bucket_name
ws_config = GCSFileWorkspaceConfiguration.from_env()
@@ -49,7 +49,7 @@ def test_initialize(
bucket.delete(force=True)
@pytest.fixture
@pytest.fixture(scope="module")
def gcs_workspace(gcs_workspace_uninitialized: GCSFileWorkspace) -> GCSFileWorkspace:
(gcs_workspace := gcs_workspace_uninitialized).initialize()
yield gcs_workspace # type: ignore