| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -147,37 +147,75 @@ def test_crud_bucket_with_requester_pays(self): | |||
| 147 | 147 | self.assertEqual(created.name, new_bucket_name) | |
| 148 | 148 | self.assertTrue(created.requester_pays) | |
| 149 | 149 | ||
| 150 | - with_up = Config.CLIENT.bucket( | ||
| 150 | + with_user_project = Config.CLIENT.bucket( | ||
| 151 | 151 | new_bucket_name, user_project=USER_PROJECT) | |
| 152 | 152 | ||
| 153 | 153 | # Bucket will be deleted in-line below. | |
| 154 | 154 | self.case_buckets_to_delete.remove(new_bucket_name) | |
| 155 | 155 | ||
| 156 | 156 | try: | |
| 157 | 157 | # Exercise 'buckets.get' w/ userProject. | |
| 158 | - self.assertTrue(with_up.exists()) | ||
| 159 | - with_up.reload() | ||
| 160 | - self.assertTrue(with_up.requester_pays) | ||
| 158 | + self.assertTrue(with_user_project.exists()) | ||
| 159 | + with_user_project.reload() | ||
| 160 | + self.assertTrue(with_user_project.requester_pays) | ||
| 161 | 161 | ||
| 162 | 162 | # Exercise 'buckets.patch' w/ userProject. | |
| 163 | - with_up.configure_website( | ||
| 163 | + with_user_project.configure_website( | ||
| 164 | 164 | main_page_suffix='index.html', not_found_page='404.html') | |
| 165 | - with_up.patch() | ||
| 165 | + with_user_project.patch() | ||
| 166 | 166 | self.assertEqual( | |
| 167 | - with_up._properties['website'], { | ||
| 167 | + with_user_project._properties['website'], { | ||
| 168 | 168 | 'mainPageSuffix': 'index.html', | |
| 169 | 169 | 'notFoundPage': '404.html', | |
| 170 | 170 | }) | |
| 171 | 171 | ||
| 172 | 172 | # Exercise 'buckets.update' w/ userProject. | |
| 173 | 173 | new_labels = {'another-label': 'another-value'} | |
| 174 | - with_up.labels = new_labels | ||
| 175 | - with_up.update() | ||
| 176 | - self.assertEqual(with_up.labels, new_labels) | ||
| 174 | + with_user_project.labels = new_labels | ||
| 175 | + with_user_project.update() | ||
| 176 | + self.assertEqual(with_user_project.labels, new_labels) | ||
| 177 | 177 | ||
| 178 | 178 | finally: | |
| 179 | 179 | # Exercise 'buckets.delete' w/ userProject. | |
| 180 | - with_up.delete() | ||
| 180 | + with_user_project.delete() | ||
| 181 | + | ||
| 182 | + @unittest.skipUnless(USER_PROJECT, 'USER_PROJECT not set in environment.') | ||
| 183 | + def test_bucket_acls_iam_with_user_project(self): | ||
| 184 | + new_bucket_name = 'acl-w-user-project' + unique_resource_id('-') | ||
| 185 | + created = Config.CLIENT.create_bucket( | ||
| 186 | + new_bucket_name, requester_pays=True) | ||
| 187 | + self.case_buckets_to_delete.append(new_bucket_name) | ||
| 188 | + | ||
| 189 | + with_user_project = Config.CLIENT.bucket( | ||
| 190 | + new_bucket_name, user_project=USER_PROJECT) | ||
| 191 | + | ||
| 192 | + # Exercise bucket ACL w/ userProject | ||
| 193 | + acl = with_user_project.acl | ||
| 194 | + acl.reload() | ||
| 195 | + acl.all().grant_read() | ||
| 196 | + acl.save() | ||
| 197 | + self.assertIn('READER', acl.all().get_roles()) | ||
| 198 | + del acl.entities['allUsers'] | ||
| 199 | + acl.save() | ||
| 200 | + self.assertFalse(acl.has_entity('allUsers')) | ||
| 201 | + | ||
| 202 | + # Exercise default object ACL w/ userProject | ||
| 203 | + doa = with_user_project.default_object_acl | ||
| 204 | + doa.reload() | ||
| 205 | + doa.all().grant_read() | ||
| 206 | + doa.save() | ||
| 207 | + self.assertIn('READER', doa.all().get_roles()) | ||
| 208 | + | ||
| 209 | + # Exercise IAM w/ userProject | ||
| 210 | + test_permissions = ['storage.buckets.get'] | ||
| 211 | + self.assertEqual( | ||
| 212 | + with_user_project.test_iam_permissions(test_permissions), | ||
| 213 | + test_permissions) | ||
| 214 | + | ||
| 215 | + policy = with_user_project.get_iam_policy() | ||
| 216 | + viewers = policy.setdefault('roles/storage.objectViewer', set()) | ||
| 217 | + viewers.add(policy.all_users()) | ||
| 218 | + with_user_project.set_iam_policy(policy) | ||
| 181 | 219 | ||
| 182 | 220 | ||
| 183 | 221 | class TestStorageFiles(unittest.TestCase): | |
| Back | FazBrowse Home | New Git URL |
0 commit comments