summaryrefslogtreecommitdiffstats
path: root/test/unit/proxy/controllers/test_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/unit/proxy/controllers/test_base.py')
-rw-r--r--test/unit/proxy/controllers/test_base.py35
1 files changed, 30 insertions, 5 deletions
diff --git a/test/unit/proxy/controllers/test_base.py b/test/unit/proxy/controllers/test_base.py
index 1ab0037..8351843 100644
--- a/test/unit/proxy/controllers/test_base.py
+++ b/test/unit/proxy/controllers/test_base.py
@@ -26,8 +26,8 @@ from swift.common import exceptions
from swift.common.utils import split_path
from swift.common.header_key_dict import HeaderKeyDict
from swift.common.http import is_success
-from swift.common.storage_policy import StoragePolicy
-from test.unit import fake_http_connect, FakeRing, FakeMemcache
+from swift.common.storage_policy import StoragePolicy, StoragePolicyCollection
+from test.unit import fake_http_connect, FakeRing, FakeMemcache, PatchPolicies
from swift.proxy import server as proxy_server
from swift.common.request_helpers import (
get_sys_meta_prefix, get_object_transient_sysmeta
@@ -209,7 +209,8 @@ class TestFuncs(unittest.TestCase):
self.assertEqual(info_c['object_count'], 1000)
# Make sure the env cache is set
exp_cached_info_c = {
- k: str(v) if k in ('bytes', 'object_count') else v
+ k: str(v) if k in (
+ 'bytes', 'object_count', 'storage_policy') else v
for k, v in info_c.items()}
self.assertEqual(env['swift.infocache'].get('account/a'),
exp_cached_info_a)
@@ -340,7 +341,7 @@ class TestFuncs(unittest.TestCase):
req = Request.blank("/v1/AUTH_account/cont",
environ={'swift.cache': FakeCache({})})
resp = get_container_info(req.environ, FakeApp())
- self.assertEqual(resp['storage_policy'], '0')
+ self.assertEqual(resp['storage_policy'], 0)
self.assertEqual(resp['bytes'], 6666)
self.assertEqual(resp['object_count'], 1000)
@@ -365,7 +366,7 @@ class TestFuncs(unittest.TestCase):
req = Request.blank("/v1/account/cont",
environ={'swift.cache': FakeCache(cache_stub)})
resp = get_container_info(req.environ, FakeApp())
- self.assertEqual(resp['storage_policy'], '0')
+ self.assertEqual(resp['storage_policy'], 0)
self.assertEqual(resp['bytes'], 3333)
self.assertEqual(resp['object_count'], 10)
self.assertEqual(resp['status'], 404)
@@ -614,6 +615,30 @@ class TestFuncs(unittest.TestCase):
resp,
headers_to_account_info(headers.items(), 200))
+ def test_headers_to_account_info_storage_policies(self):
+ headers = {
+ 'x-account-storage-policy-zero-object-count': '13',
+ 'x-account-storage-policy-zero-container-count': '120',
+ 'x-account-storage-policy-zero-bytes-used': '1002',
+ 'x-account-storage-policy-one-object-count': '10',
+ 'x-account-storage-policy-one-container-count': '20',
+ }
+ spc = StoragePolicyCollection([StoragePolicy(0, 'zero', True),
+ StoragePolicy(1, 'one', False)])
+ with PatchPolicies(spc):
+ resp = headers_to_account_info(headers.items(), 200)
+ self.assertEqual(
+ resp['storage_policies'][0]['object_count'], 13)
+ self.assertEqual(
+ resp['storage_policies'][0]['container_count'], 120)
+ self.assertEqual(
+ resp['storage_policies'][0]['bytes'], 1002)
+ self.assertEqual(
+ resp['storage_policies'][1]['object_count'], 10)
+ self.assertEqual(
+ resp['storage_policies'][1]['container_count'], 20)
+ self.assertEqual(resp['storage_policies'][1]['bytes'], 0)
+
def test_headers_to_object_info_missing(self):
resp = headers_to_object_info({}, 404)
self.assertEqual(resp['status'], 404)