forked from TrueCloudLab/s3-tests
2a216abcb4
Since other classes need to do syncs, let's move it to the utils file. Signed-off-by: Joe Buck <jbbuck@gmail.com> Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
33 lines
982 B
Python
33 lines
982 B
Python
import requests
|
|
import time
|
|
|
|
from nose.tools import eq_ as eq
|
|
|
|
def assert_raises(excClass, callableObj, *args, **kwargs):
|
|
"""
|
|
Like unittest.TestCase.assertRaises, but returns the exception.
|
|
"""
|
|
try:
|
|
callableObj(*args, **kwargs)
|
|
except excClass as e:
|
|
return e
|
|
else:
|
|
if hasattr(excClass, '__name__'):
|
|
excName = excClass.__name__
|
|
else:
|
|
excName = str(excClass)
|
|
raise AssertionError("%s not raised" % excName)
|
|
|
|
# syncs all the regions except for the one passed in
|
|
def region_sync_meta(targets, region):
|
|
|
|
for (k, r) in targets.iteritems():
|
|
if r == region:
|
|
continue
|
|
conf = r.conf
|
|
if conf.sync_agent_addr:
|
|
ret = requests.post('http://{addr}:{port}/metadata/incremental'.format(addr = conf.sync_agent_addr, port = conf.sync_agent_port))
|
|
eq(ret.status_code, 200)
|
|
if conf.sync_meta_wait:
|
|
time.sleep(conf.sync_meta_wait)
|
|
|