|
53 | 53 | import storage_generate_signed_url_v2
|
54 | 54 | import storage_generate_signed_url_v4
|
55 | 55 | import storage_generate_upload_signed_url_v4
|
| 56 | +import storage_get_autoclass |
56 | 57 | import storage_get_bucket_labels
|
57 | 58 | import storage_get_bucket_metadata
|
58 | 59 | import storage_get_metadata
|
|
67 | 68 | import storage_remove_bucket_label
|
68 | 69 | import storage_remove_cors_configuration
|
69 | 70 | import storage_rename_file
|
| 71 | +import storage_set_autoclass |
70 | 72 | import storage_set_bucket_default_kms_key
|
71 | 73 | import storage_set_client_endpoint
|
72 | 74 | import storage_set_metadata
|
@@ -136,6 +138,17 @@ def test_public_bucket():
|
136 | 138 | os.environ['GOOGLE_CLOUD_PROJECT'] = original_value
|
137 | 139 |
|
138 | 140 |
|
| 141 | +@pytest.fixture(scope="module") |
| 142 | +def new_bucket_obj(): |
| 143 | + """Yields a new bucket object that is deleted after the test completes.""" |
| 144 | + bucket = None |
| 145 | + while bucket is None or bucket.exists(): |
| 146 | + bucket_name = f"storage-snippets-test-{uuid.uuid4()}" |
| 147 | + bucket = storage.Client().bucket(bucket_name) |
| 148 | + yield bucket |
| 149 | + bucket.delete(force=True) |
| 150 | + |
| 151 | + |
139 | 152 | @pytest.fixture
|
140 | 153 | def test_blob(test_bucket):
|
141 | 154 | """Yields a blob that is deleted after the test completes."""
|
@@ -408,6 +421,31 @@ def test_versioning(test_bucket, capsys):
|
408 | 421 | assert bucket.versioning_enabled is False
|
409 | 422 |
|
410 | 423 |
|
| 424 | +def test_get_set_autoclass(new_bucket_obj, test_bucket, capsys): |
| 425 | + # Test default values when Autoclass is unset |
| 426 | + bucket = storage_get_autoclass.get_autoclass(test_bucket.name) |
| 427 | + out, _ = capsys.readouterr() |
| 428 | + assert "Autoclass enabled is set to False" in out |
| 429 | + assert bucket.autoclass_toggle_time is None |
| 430 | + |
| 431 | + # Test enabling Autoclass at bucket creation |
| 432 | + new_bucket_obj.autoclass_enabled = True |
| 433 | + bucket = storage.Client().create_bucket(new_bucket_obj) |
| 434 | + assert bucket.autoclass_enabled is True |
| 435 | + |
| 436 | + # Test disabling Autoclass |
| 437 | + bucket = storage_set_autoclass.set_autoclass(bucket.name, False) |
| 438 | + out, _ = capsys.readouterr() |
| 439 | + assert "Autoclass enabled is set to False" in out |
| 440 | + assert bucket.autoclass_enabled is False |
| 441 | + |
| 442 | + # Test get Autoclass |
| 443 | + bucket = storage_get_autoclass.get_autoclass(bucket.name) |
| 444 | + out, _ = capsys.readouterr() |
| 445 | + assert "Autoclass enabled is set to False" in out |
| 446 | + assert bucket.autoclass_toggle_time is not None |
| 447 | + |
| 448 | + |
411 | 449 | def test_bucket_lifecycle_management(test_bucket, capsys):
|
412 | 450 | bucket = storage_enable_bucket_lifecycle_management.enable_bucket_lifecycle_management(
|
413 | 451 | test_bucket
|
|
0 commit comments