本文整理汇总了Python中swift.proxy.controllers.base.headers_to_account_info函数的典型用法代码示例。如果您正苦于以下问题:Python headers_to_account_info函数的具体用法?Python headers_to_account_info怎么用?Python headers_to_account_info使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了headers_to_account_info函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_headers_to_account_info_values
def test_headers_to_account_info_values(self):
headers = {"x-account-object-count": "10", "x-account-container-count": "20"}
resp = headers_to_account_info(headers.items(), 200)
self.assertEquals(resp["total_object_count"], "10")
self.assertEquals(resp["container_count"], "20")
headers["x-unused-header"] = "blahblahblah"
self.assertEquals(resp, headers_to_account_info(headers.items(), 200))
示例2: test_headers_to_account_info_values
def test_headers_to_account_info_values(self):
headers = {
'x-account-object-count': '10',
'x-account-container-count': '20',
}
resp = headers_to_account_info(headers.items(), 200)
self.assertEqual(resp['total_object_count'], '10')
self.assertEqual(resp['container_count'], '20')
headers['x-unused-header'] = 'blahblahblah'
self.assertEqual(
resp,
headers_to_account_info(headers.items(), 200))
示例3: test_headers_to_account_info_sys_meta
def test_headers_to_account_info_sys_meta(self):
prefix = get_sys_meta_prefix("account")
headers = {"%sWhatevs" % prefix: 14, "%ssomethingelse" % prefix: 0}
resp = headers_to_account_info(headers.items(), 200)
self.assertEquals(len(resp["sysmeta"]), 2)
self.assertEquals(resp["sysmeta"]["whatevs"], 14)
self.assertEquals(resp["sysmeta"]["somethingelse"], 0)
示例4: test_headers_to_account_info_meta
def test_headers_to_account_info_meta(self):
headers = {'X-Account-Meta-Whatevs': 14,
'x-account-meta-somethingelse': 0}
resp = headers_to_account_info(headers.items(), 200)
self.assertEqual(len(resp['meta']), 2)
self.assertEqual(resp['meta']['whatevs'], 14)
self.assertEqual(resp['meta']['somethingelse'], 0)
示例5: test_headers_to_account_info_sys_meta
def test_headers_to_account_info_sys_meta(self):
prefix = get_sys_meta_prefix('account')
headers = {'%sWhatevs' % prefix: 14,
'%ssomethingelse' % prefix: 0}
resp = headers_to_account_info(headers.items(), 200)
self.assertEqual(len(resp['sysmeta']), 2)
self.assertEqual(resp['sysmeta']['whatevs'], 14)
self.assertEqual(resp['sysmeta']['somethingelse'], 0)
示例6: __init__
def __init__(self, headers, env, account, container):
self.headers = headers
self.status_int = FakeResponse_status_int
self.environ = env
cache_key, env_key = _get_cache_key(account, container)
if container:
info = headers_to_container_info(headers, FakeResponse_status_int)
else:
info = headers_to_account_info(headers, FakeResponse_status_int)
env[env_key] = info
示例7: test_account_info_in_response_env
def test_account_info_in_response_env(self):
controller = proxy_server.AccountController(self.app, 'AUTH_bob')
with mock.patch('swift.proxy.controllers.base.http_connect',
fake_http_connect(200, body='')):
req = Request.blank('/v1/AUTH_bob', {'PATH_INFO': '/v1/AUTH_bob'})
resp = controller.HEAD(req)
self.assertEqual(2, resp.status_int // 100)
self.assertTrue('swift.account/AUTH_bob' in resp.environ)
self.assertEqual(headers_to_account_info(resp.headers),
resp.environ['swift.account/AUTH_bob'])
示例8: test_account_info
def test_account_info(self):
req = Request.blank(
'/v1/AUTH_openio', {'PATH_INFO': '/v1/AUTH_openio'}, method='HEAD')
info = get_fake_info()
self.storage.account_show = Mock(return_value=info)
resp = req.get_response(self.app)
self.assertEqual(2, resp.status_int // 100)
self.assertIn('swift.infocache', resp.environ)
self.assertIn('account/AUTH_openio', resp.environ['swift.infocache'])
self.assertEqual(
headers_to_account_info(resp.headers, resp.status_int),
resp.environ['swift.infocache']['account/AUTH_openio'])
示例9: _mock_infocache
def _mock_infocache(self, env):
if not self.skip_metadata:
return
req = Request(env)
# don't fake obj metadata
account, container, _ = self._extract_path(req.path_info)
req.environ.setdefault('swift.infocache', {})
req.environ['swift.infocache'][get_cache_key(account)] = \
headers_to_account_info({}, 0)
if container:
key = get_cache_key(account, container)
req.environ['swift.infocache'][key] = \
headers_to_container_info({}, 0)
示例10: __call__
def __call__(self, env, start_response):
if env['REQUEST_METHOD'] == "HEAD" and \
env['PATH_INFO'] == '/v1/a/c2/o2':
env_key = get_object_env_key('a', 'c2', 'o2')
env[env_key] = headers_to_object_info(self.headers, 200)
start_response('200 OK', self.headers)
elif env['REQUEST_METHOD'] == "HEAD" and \
env['PATH_INFO'] == '/v1/a/c2/o3':
start_response('404 Not Found', [])
else:
# Cache the account_info (same as a real application)
cache_key, env_key = _get_cache_key('a', None)
env[env_key] = headers_to_account_info(self.headers, 200)
start_response('200 OK', self.headers)
return []
示例11: __init__
def __init__(self, headers, env, account, container, obj):
self.headers = headers
self.status_int = FakeResponse_status_int
self.environ = env
if obj:
env_key = get_object_env_key(account, container, obj)
else:
cache_key, env_key = _get_cache_key(account, container)
if account and container and obj:
info = headers_to_object_info(headers, FakeResponse_status_int)
elif account and container:
info = headers_to_container_info(headers, FakeResponse_status_int)
else:
info = headers_to_account_info(headers, FakeResponse_status_int)
env[env_key] = info
示例12: test_headers_to_account_info_storage_policies
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,
'container_count': 120,
'bytes': 1002},
1: {'object_count': 10,
'container_count': 20,
'bytes': 0},
})
示例13: __call__
def __call__(self, env, start_response):
if 'swift.authorize' in env:
aresp = env['swift.authorize'](Request(env))
if aresp:
return aresp(env, start_response)
if env['REQUEST_METHOD'] == "HEAD" and \
env['PATH_INFO'] == '/v1/a/c2/o2':
env_key = get_object_env_key('a', 'c2', 'o2')
env.setdefault('swift.infocache', {})[env_key] = \
headers_to_object_info(self.headers, 200)
start_response('200 OK', self.headers)
elif env['REQUEST_METHOD'] == "HEAD" and \
env['PATH_INFO'] == '/v1/a/c2/o3':
start_response('404 Not Found', [])
else:
# Cache the account_info (same as a real application)
cache_key, env_key = _get_cache_key('a', None)
env.setdefault('swift.infocache', {})[env_key] = \
headers_to_account_info(self.headers, 200)
start_response('200 OK', self.headers)
return []
示例14: test_headers_to_account_info_missing
def test_headers_to_account_info_missing(self):
resp = headers_to_account_info({}, 404)
self.assertEquals(resp["status"], 404)
self.assertEquals(resp["bytes"], None)
self.assertEquals(resp["container_count"], None)
示例15: test_headers_to_account_info_meta
def test_headers_to_account_info_meta(self):
headers = {"X-Account-Meta-Whatevs": 14, "x-account-meta-somethingelse": 0}
resp = headers_to_account_info(headers.items(), 200)
self.assertEquals(len(resp["meta"]), 2)
self.assertEquals(resp["meta"]["whatevs"], 14)
self.assertEquals(resp["meta"]["somethingelse"], 0)