"""
self._assert_container()
+ self.set_header('X-Container-Policy-Quota', quota)
+ self.set_header('X-Container-Policy-Versioning', versioning)
if metadata:
for metaname, metaval in metadata.items():
self.set_header('X-Container-Meta-' + metaname, metaval)
- self.set_header('X-Container-Policy-Quota', quota)
- self.set_header('X-Container-Policy-Versioning', versioning)
path = path4url(self.account, self.container)
success = kwargs.pop('success', (201, 202))
success=kwargs.pop('success', 200),
**kwargs))
+ @patch('%s.set_header' % rest_pkg)
+ @patch('%s.put' % rest_pkg, return_value=FR())
+ def test_container_put(self, put, SH):
+ for pm in product(
+ (None, 42),
+ (None, 'v3r51on1ng'),
+ (dict(), dict(k1='v2'), dict(k2='v2', k3='v3')),
+ ((), ('someval',)),
+ (dict(), dict(success=400), dict(k='v', v='k'))):
+ args, kwargs = pm[-2:]
+ pm = pm[:-2]
+ self.client.container_put(*(pm + args), **kwargs)
+ quota, versioning, metas = pm[-3:]
+ exp = [
+ call('X-Container-Policy-Quota', quota),
+ call('X-Container-Policy-Versioning', versioning)] + [
+ call('X-Container-Meta-%s' % k, v) for k, v in metas.items()]
+ self.assertEqual(SH.mock_calls[- len(exp):], exp)
+ self.assertEqual(put.mock_calls[-1], call(
+ '/%s/%s' % (self.client.account, self.client.container),
+ *args,
+ success=kwargs.pop('success', (201, 202)),
+ **kwargs))
+
class Pithos(TestCase):