Skip to content

Commit 69ffcb6

Browse files
committed
Test blob CRUD methods w/ 'user_project' set. (#4086)
1 parent db1fb9d commit 69ffcb6

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

storage/tests/system.py

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,45 @@ def test_small_file_write_from_filename(self):
298298
md5_hash = md5_hash.encode('utf-8')
299299
self.assertEqual(md5_hash, file_data['hash'])
300300

301+
@unittest.skipUnless(USER_PROJECT, 'USER_PROJECT not set in environment.')
302+
def test_crud_blob_w_user_project(self):
303+
with_user_project = Config.CLIENT.bucket(
304+
self.bucket.name, user_project=USER_PROJECT)
305+
blob = with_user_project.blob('SmallFile')
306+
307+
file_data = self.FILES['simple']
308+
with open(file_data['path'], mode='rb') as to_read:
309+
file_contents = to_read.read()
310+
311+
# Exercise 'objects.insert' w/ userProject.
312+
blob.upload_from_filename(file_data['path'])
313+
314+
try:
315+
# Exercise 'objects.get' (metadata) w/ userProject.
316+
self.assertTrue(blob.exists())
317+
blob.reload()
318+
319+
# Exercise 'objects.get' (media) w/ userProject.
320+
downloaded = blob.download_as_string()
321+
self.assertEqual(downloaded, file_contents)
322+
323+
# Exercise 'objects.patch' w/ userProject.
324+
blob.content_language = 'en'
325+
blob.patch()
326+
self.assertEqual(blob.content_language, 'en')
327+
328+
# Exercise 'objects.update' w/ userProject.
329+
metadata = {
330+
'foo': 'Foo',
331+
'bar': 'Bar',
332+
}
333+
blob.metadata = metadata
334+
blob.update()
335+
self.assertEqual(blob.metadata, metadata)
336+
finally:
337+
# Exercise 'objects.delete' (metadata) w/ userProject.
338+
blob.delete()
339+
301340
def test_write_metadata(self):
302341
filename = self.FILES['logo']['path']
303342
blob_name = os.path.basename(filename)

0 commit comments

Comments
 (0)