Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
d52d81f
Add support for the Bucket's 'versioning' field.
tseaver Nov 4, 2014
8477e85
Add tests asserting that 'get_metatdata' raises w/ 'versioning'.
tseaver Nov 4, 2014
037a732
Add support for the Bucket's 'logging' field.
tseaver Nov 4, 2014
c586a7c
Add CORS support to buckets.
tseaver Nov 4, 2014
b721f42
Add location support to buckets.
tseaver Nov 4, 2014
c9fa1f3
Expanded / explicit coverage and assertions for '_helpers._MetadataMi…
tseaver Nov 5, 2014
2c3725d
Remove redundant coverage for mixin methods.
tseaver Nov 5, 2014
36966e8
Stop using 'metadata' to refer to all properties in bucket/key repres…
tseaver Nov 5, 2014
79e0b05
Wrap method / attr name in single quotes.
tseaver Nov 5, 2014
7533899
Add read-only properties for non-writable bucket fields.
tseaver Nov 5, 2014
9d7fc2f
Merge branch '314-bucket_versioning_support' into 314-omnibus
tseaver Nov 5, 2014
40c03c5
Merge branch '314-bucket_logging_support' into 314-omnibus
tseaver Nov 5, 2014
1fdacb4
Merge branch '314-bucket_cors_support' into 314-omnibus
tseaver Nov 5, 2014
48677ee
Merge branch '314-bucket_location_support' into 314-omnibus
tseaver Nov 5, 2014
c3fcb2e
Re-order methods to match field order.
tseaver Nov 5, 2014
aa7afbb
Make 'lazy' test less eager.
tseaver Nov 5, 2014
5f1667a
Fix up accessor / mutators methods to use new helpers.
tseaver Nov 5, 2014
72f3e5a
Bucket has more fields than pylint wants to allow.
tseaver Nov 5, 2014
f77e593
Remove backward-compatibility aliases.
tseaver Nov 6, 2014
b8ea274
Docstring fixes.
tseaver Nov 6, 2014
262b413
Drop (unused-and-confusing) '_has_property' method.
tseaver Nov 6, 2014
25b7b5c
Use 'properties' to ensure loading before lookup.
tseaver Nov 6, 2014
13b28c2
Fix copy-paste errors in 'Bucket' accessor docstrings.
tseaver Nov 6, 2014
3eaf39d
Avoid remapping names of keys in server-side properties.
tseaver Nov 6, 2014
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove redundant coverage for mixin methods.
  • Loading branch information
tseaver committed Nov 5, 2014
commit 2c3725dba1ea90af20047e7bea9adb7593dfb85c
140 changes: 0 additions & 140 deletions gcloud/storage/test_bucket.py
Original file line number Diff line number Diff line change
Expand Up @@ -406,146 +406,6 @@ def upload_from_file(self, fh):
bucket.upload_file_object(FILEOBJECT, KEY)
self.assertEqual(_uploaded, [(bucket, KEY, FILEOBJECT)])

def test_has_metdata_none_set(self):
NONESUCH = 'nonesuch'
bucket = self._makeOne()
self.assertFalse(bucket.has_metadata(NONESUCH))

def test_has_metdata_miss(self):
NONESUCH = 'nonesuch'
metadata = {'key': 'value'}
bucket = self._makeOne(metadata=metadata)
self.assertFalse(bucket.has_metadata(NONESUCH))

def test_has_metdata_none_passed(self):
KEY = 'key'
metadata = {KEY: 'value'}
bucket = self._makeOne(metadata=metadata)
self.assertTrue(bucket.has_metadata())

def test_has_metdata_hit(self):
KEY = 'key'
metadata = {KEY: 'value'}
bucket = self._makeOne(metadata=metadata)
self.assertTrue(bucket.has_metadata(KEY))

def test_reload_metadata(self):
NAME = 'name'
before = {'foo': 'Foo'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = self._makeOne(connection, NAME, before)
found = bucket.reload_metadata()
self.assertTrue(found is bucket)
self.assertEqual(found.metadata, after)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/%s' % NAME)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_none_set_none_passed(self):
NAME = 'name'
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = self._makeOne(connection, NAME)
found = bucket.get_metadata()
self.assertEqual(found, after)
self.assertEqual(bucket.metadata, after)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/%s' % NAME)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_acl_no_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
self.assertRaises(KeyError, bucket.get_metadata, 'acl')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_acl_w_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
default = object()
self.assertRaises(KeyError, bucket.get_metadata, 'acl', default)
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_defaultObjectAcl_no_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
self.assertRaises(KeyError, bucket.get_metadata, 'defaultObjectAcl')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_none_set_defaultObjectAcl_miss_clear_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
default = object()
self.assertRaises(KeyError, bucket.get_metadata, 'defaultObjectAcl',
default)
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_lifecycle_no_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
self.assertRaises(KeyError, bucket.get_metadata, 'lifecycle')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_lifecycle_w_default(self):
NAME = 'name'
connection = _Connection()
bucket = self._makeOne(connection, NAME)
default = object()
self.assertRaises(KeyError, bucket.get_metadata, 'lifecycle', default)
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_miss(self):
NAME = 'name'
before = {'bar': 'Bar'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = self._makeOne(connection, NAME, before)
self.assertEqual(bucket.get_metadata('foo'), None)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/%s' % NAME)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_hit(self):
NAME = 'name'
before = {'bar': 'Bar'}
connection = _Connection()
bucket = self._makeOne(connection, NAME, before)
self.assertEqual(bucket.get_metadata('bar'), 'Bar')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_patch_metadata(self):
NAME = 'name'
before = {'foo': 'Foo'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = self._makeOne(connection, NAME, before)
self.assertTrue(bucket.patch_metadata(after) is bucket)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
self.assertEqual(kw[0]['path'], '/b/%s' % NAME)
self.assertEqual(kw[0]['data'], after)
self.assertEqual(kw[0]['query_params'], {'projection': 'full'})

def test_configure_website_defaults(self):
NAME = 'name'
patched = {'website': {'mainPageSuffix': None,
Expand Down
131 changes: 0 additions & 131 deletions gcloud/storage/test_key.py
Original file line number Diff line number Diff line change
Expand Up @@ -326,137 +326,6 @@ def test_upload_from_string(self):
self.assertEqual(rq[2]['data'], DATA[5:])
self.assertEqual(rq[2]['headers'], {'Content-Range': 'bytes 5-5/6'})

def test_has_metdata_none_set(self):
NONESUCH = 'nonesuch'
key = self._makeOne()
self.assertFalse(key.has_metadata(NONESUCH))

def test_has_metdata_miss(self):
NONESUCH = 'nonesuch'
metadata = {'key': 'value'}
key = self._makeOne(metadata=metadata)
self.assertFalse(key.has_metadata(NONESUCH))

def test_has_metdata_none_passed(self):
KEY = 'key'
metadata = {KEY: 'value'}
key = self._makeOne(metadata=metadata)
self.assertTrue(key.has_metadata())

def test_has_metdata_hit(self):
KEY = 'key'
metadata = {KEY: 'value'}
key = self._makeOne(metadata=metadata)
self.assertTrue(key.has_metadata(KEY))

def test_reload_metadata(self):
KEY = 'key'
before = {'foo': 'Foo'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY, before)
found = key.reload_metadata()
self.assertTrue(found is key)
self.assertEqual(found.metadata, after)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/name/o/%s' % KEY)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_none_set_none_passed(self):
KEY = 'key'
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY)
found = key.get_metadata()
self.assertEqual(found, after)
self.assertEqual(key.metadata, after)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/name/o/%s' % KEY)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_acl_no_default(self):
KEY = 'key'
connection = _Connection()
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY)
self.assertRaises(KeyError, key.get_metadata, 'acl')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_acl_w_default(self):
KEY = 'key'
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY)
default = object()
self.assertRaises(KeyError, key.get_metadata, 'acl', default)
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_get_metadata_miss(self):
KEY = 'key'
before = {'bar': 'Bar'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY, before)
self.assertEqual(key.get_metadata('foo'), None)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'GET')
self.assertEqual(kw[0]['path'], '/b/name/o/%s' % KEY)
self.assertEqual(kw[0]['query_params'], {'projection': 'noAcl'})

def test_get_metadata_hit(self):
KEY = 'key'
before = {'bar': 'Bar'}
connection = _Connection()
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY, before)
self.assertEqual(key.get_metadata('bar'), 'Bar')
kw = connection._requested
self.assertEqual(len(kw), 0)

def test_patch_metadata(self):
KEY = 'key'
before = {'foo': 'Foo'}
after = {'bar': 'Bar'}
connection = _Connection(after)
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY, before)
self.assertTrue(key.patch_metadata(after) is key)
kw = connection._requested
self.assertEqual(len(kw), 1)
self.assertEqual(kw[0]['method'], 'PATCH')
self.assertEqual(kw[0]['path'], '/b/name/o/%s' % KEY)
self.assertEqual(kw[0]['data'], after)
self.assertEqual(kw[0]['query_params'], {'projection': 'full'})

def test_get_acl_lazy(self):
from gcloud.storage.acl import ObjectACL
KEY = 'key'
connection = _Connection({'items': []})
bucket = _Bucket(connection)
key = self._makeOne(bucket, KEY)
acl = key.get_acl()
self.assertTrue(acl is key.acl)
self.assertTrue(isinstance(acl, ObjectACL))
self.assertEqual(list(key.acl), [])

def test_get_acl_eager(self):
key = self._makeOne()
preset = key.acl
preset.loaded = True
acl = key.get_acl()
self.assertTrue(acl is preset)

def test_make_public(self):
from gcloud.storage.acl import _ACLEntity
KEY = 'key'
Expand Down