Add more tests for containers.
This commit is contained in:
@@ -68,6 +68,7 @@ class Containers(object):
|
||||
orig_token, dest_storage_cnx, dest_storage_url, dest_token,
|
||||
container_name):
|
||||
|
||||
# Is this needed to be done before the head?
|
||||
try:
|
||||
orig_container_stats, orig_objects = swiftclient.get_container(
|
||||
None, orig_token, container_name, http_conn=orig_storage_cnx,
|
||||
@@ -76,6 +77,7 @@ class Containers(object):
|
||||
logging.info("ERROR: getting container: %s, %s" % (
|
||||
container_name, e.http_reason))
|
||||
return
|
||||
|
||||
try:
|
||||
swiftclient.head_container(
|
||||
"", dest_token, container_name, http_conn=dest_storage_cnx
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
import logging
|
||||
import urlparse
|
||||
|
||||
import swiftclient
|
||||
@@ -65,6 +66,38 @@ class TestContainers(test_base.TestCase):
|
||||
)
|
||||
self.assertEqual(len(get_cnt_called), 1)
|
||||
|
||||
def test_sync_when_container_nothere_raise_when_cant_create(self):
|
||||
put_cnt_called = []
|
||||
called_info = []
|
||||
|
||||
def fake_info(self, *args):
|
||||
called_info.append("called")
|
||||
self.stubs.Set(logging, 'info', fake_info)
|
||||
|
||||
def put_container(*args, **kwargs):
|
||||
put_cnt_called.append("TESTED")
|
||||
raise swiftclient.client.ClientException('TESTED')
|
||||
|
||||
def get_container(_, token, name, **kwargS):
|
||||
for clist in fakes.CONTAINERS_LIST:
|
||||
if clist[0]['name'] == name:
|
||||
return (fakes.CONTAINER_HEADERS, clist[1])
|
||||
|
||||
def head_container(*args, **kwargs):
|
||||
raise swiftclient.client.ClientException('Not Here')
|
||||
|
||||
self.stubs.Set(swiftclient, 'get_container', get_container)
|
||||
self.stubs.Set(swiftclient, 'put_container', put_container)
|
||||
self.stubs.Set(swiftclient, 'head_container', head_container)
|
||||
|
||||
self.container_cls.sync(
|
||||
self.orig_storage_cnx, self.orig_storage_url, 'token',
|
||||
self.dest_storage_cnx, self.dest_storage_url, 'token',
|
||||
'cont1'
|
||||
)
|
||||
self.assertEqual(len(put_cnt_called), 1)
|
||||
self.assertEqual(len(called_info), 1)
|
||||
|
||||
def test_delete_dest(self):
|
||||
# probably need to change that to mox properly
|
||||
get_cnt_called = []
|
||||
@@ -152,3 +185,88 @@ class TestContainers(test_base.TestCase):
|
||||
'cont1')
|
||||
|
||||
self.assertEqual(sync_object_called[0][-1][1], 'NEWOBJ')
|
||||
|
||||
def test_sync_raise_exceptions_get_container_on_orig(self):
|
||||
called = []
|
||||
|
||||
def get_container(*args, **kwargs):
|
||||
called.append("TESTED")
|
||||
raise swiftclient.client.ClientException("TESTED")
|
||||
|
||||
self.stubs.Set(swiftclient, 'get_container', get_container)
|
||||
self.container_cls.sync(
|
||||
self.orig_storage_cnx,
|
||||
self.orig_storage_url,
|
||||
'token',
|
||||
self.dest_storage_cnx,
|
||||
self.dest_storage_url,
|
||||
'token',
|
||||
'cont1')
|
||||
self.assertEqual(len(called), 1)
|
||||
|
||||
def test_sync_raise_exceptions_get_container_on_dest(self):
|
||||
called = []
|
||||
called_on_dest = []
|
||||
|
||||
def get_container(*args, **kwargs):
|
||||
#ORIG
|
||||
if len(called) == 0:
|
||||
called.append("TESTED")
|
||||
return ({}, [{'name': 'PARISESTMAGIQUE',
|
||||
'last_modified': '2010'}])
|
||||
#DEST
|
||||
else:
|
||||
called_on_dest.append("TESTED")
|
||||
raise swiftclient.client.ClientException("TESTED")
|
||||
|
||||
def head_container(*args, **kwargs):
|
||||
pass
|
||||
|
||||
self.stubs.Set(swiftclient, 'head_container', head_container)
|
||||
self.stubs.Set(swiftclient, 'get_container', get_container)
|
||||
self.container_cls.sync(
|
||||
self.orig_storage_cnx,
|
||||
self.orig_storage_url,
|
||||
'token',
|
||||
self.dest_storage_cnx,
|
||||
self.dest_storage_url,
|
||||
'token',
|
||||
'cont1')
|
||||
self.assertEqual(len(called_on_dest), 1)
|
||||
self.assertEqual(len(called), 1)
|
||||
|
||||
def test_delete_container(self):
|
||||
delete_called = []
|
||||
orig_containers = [{'name': 'foo'}]
|
||||
dest_containers = [{'name': 'foo'}, {'name': 'bar'}]
|
||||
|
||||
def get_container(*args, **kwargs):
|
||||
return ({}, [{'name': 'PARISESTMAGIQUE', 'last_modified': '2010'}])
|
||||
|
||||
def delete(*args, **kwargs):
|
||||
delete_called.append("TESTED")
|
||||
|
||||
self.container_cls.delete_object = delete
|
||||
self.stubs.Set(swiftclient, 'delete_container', delete)
|
||||
self.stubs.Set(swiftclient, 'get_container', get_container)
|
||||
|
||||
self.container_cls.delete_container(
|
||||
"cnx1", "token1", orig_containers, dest_containers)
|
||||
|
||||
self.assertEqual(len(delete_called), 2)
|
||||
|
||||
def test_delete_container_raise_exception(self):
|
||||
called = []
|
||||
orig_containers = [{'name': 'foo'}]
|
||||
dest_containers = [{'name': 'foo'}, {'name': 'bar'}]
|
||||
|
||||
def get_container(*args, **kwargs):
|
||||
called.append("TESTED")
|
||||
raise swiftclient.client.ClientException("TESTED")
|
||||
|
||||
self.stubs.Set(swiftclient, 'get_container', get_container)
|
||||
|
||||
self.container_cls.delete_container(
|
||||
"cnx1", "token1", orig_containers, dest_containers)
|
||||
|
||||
self.assertEqual(len(called), 1)
|
||||
|
||||
Reference in New Issue
Block a user