|
28 | 28 | from test_utils.system import unique_resource_id |
29 | 29 |
|
30 | 30 |
|
| 31 | +USER_PROJECT = os.environ.get('GOOGLE_CLOUD_TESTS_USER_PROJECT') |
| 32 | + |
| 33 | + |
31 | 34 | def _bad_copy(bad_request): |
32 | 35 | """Predicate: pass only exceptions for a failed copyTo.""" |
33 | 36 | err_msg = bad_request.message |
@@ -95,14 +98,6 @@ def test_create_bucket(self): |
95 | 98 | self.case_buckets_to_delete.append(new_bucket_name) |
96 | 99 | self.assertEqual(created.name, new_bucket_name) |
97 | 100 |
|
98 | | - def test_create_bucket_with_requester_pays(self): |
99 | | - new_bucket_name = 'w-requester-pays' + unique_resource_id('-') |
100 | | - created = Config.CLIENT.create_bucket( |
101 | | - new_bucket_name, requester_pays=True) |
102 | | - self.case_buckets_to_delete.append(new_bucket_name) |
103 | | - self.assertEqual(created.name, new_bucket_name) |
104 | | - self.assertTrue(created.requester_pays) |
105 | | - |
106 | 101 | def test_list_buckets(self): |
107 | 102 | buckets_to_create = [ |
108 | 103 | 'new' + unique_resource_id(), |
@@ -141,6 +136,47 @@ def test_bucket_update_labels(self): |
141 | 136 | bucket.update() |
142 | 137 | self.assertEqual(bucket.labels, {}) |
143 | 138 |
|
| 139 | + @unittest.skipUnless(USER_PROJECT, 'USER_PROJECT not set in environment.') |
| 140 | + def test_crud_bucket_with_requester_pays(self): |
| 141 | + new_bucket_name = 'w-requester-pays' + unique_resource_id('-') |
| 142 | + created = Config.CLIENT.create_bucket( |
| 143 | + new_bucket_name, requester_pays=True) |
| 144 | + self.case_buckets_to_delete.append(new_bucket_name) |
| 145 | + self.assertEqual(created.name, new_bucket_name) |
| 146 | + self.assertTrue(created.requester_pays) |
| 147 | + |
| 148 | + with_up = Config.CLIENT.bucket( |
| 149 | + new_bucket_name, user_project=USER_PROJECT) |
| 150 | + |
| 151 | + # Bucket will be deleted in-line below. |
| 152 | + self.case_buckets_to_delete.remove(new_bucket_name) |
| 153 | + |
| 154 | + try: |
| 155 | + # Exercise 'buckets.get' w/ userProject. |
| 156 | + self.assertTrue(with_up.exists()) |
| 157 | + with_up.reload() |
| 158 | + self.assertTrue(with_up.requester_pays) |
| 159 | + |
| 160 | + # Exercise 'buckets.patch' w/ userProject. |
| 161 | + with_up.configure_website( |
| 162 | + main_page_suffix='index.html', not_found_page='404.html') |
| 163 | + with_up.patch() |
| 164 | + self.assertEqual( |
| 165 | + with_up._properties['website'], { |
| 166 | + 'mainPageSuffix': 'index.html', |
| 167 | + 'notFoundPage': '404.html', |
| 168 | + }) |
| 169 | + |
| 170 | + # Exercise 'buckets.update' w/ userProject. |
| 171 | + new_labels = {'another-label': 'another-value'} |
| 172 | + with_up.labels = new_labels |
| 173 | + with_up.update() |
| 174 | + self.assertEqual(with_up.labels, new_labels) |
| 175 | + |
| 176 | + finally: |
| 177 | + # Exercise 'buckets.delete' w/ userProject. |
| 178 | + with_up.delete() |
| 179 | + |
144 | 180 |
|
145 | 181 | class TestStorageFiles(unittest.TestCase): |
146 | 182 |
|
|
0 commit comments