Merge "Increase code coverage"

This commit is contained in:
Zuul
2017-11-07 23:16:27 +00:00
committed by Gerrit Code Review
3 changed files with 49 additions and 6 deletions

View File

@@ -771,6 +771,12 @@ class FakeHTTPClient(fakes.FakeHTTPClient):
def delete_share_replicas_1234(self, **kw):
return (202, {}, None)
def delete_share_replicas_fake_replica_0(self, **kw):
return (202, {}, None)
def delete_share_replicas_fake_replica_1(self, **kw):
return (202, {}, None)
def get_share_replicas_detail(self, **kw):
replicas = {
'share_replicas': [

View File

@@ -2470,13 +2470,12 @@ class ShellTest(test_utils.TestCase):
@ddt.data(True, False)
@mock.patch.object(shell_v2, '_find_share_replica', mock.Mock())
def test_share_replica_delete(self, force):
def test_share_replica_delete_force(self, force):
fake_replica = type('FakeShareReplica', (object,), {'id': '1234'})
shell_v2._find_share_replica.return_value = fake_replica
force = '--force' if force else ''
self.run_command('share-replica-delete fake-replica ' + force)
if force:
@@ -2485,6 +2484,45 @@ class ShellTest(test_utils.TestCase):
else:
self.assert_called('DELETE', '/share-replicas/1234')
@ddt.data([1, 0], [1, 1], [2, 0], [2, 1], [2, 2])
@ddt.unpack
@mock.patch.object(shell_v2, '_find_share_replica', mock.Mock())
def test_share_replica_delete_errors(self, replica_count, replica_errors):
class StubbedReplicaFindError(Exception):
"""Error in find share replica stub"""
pass
class StubbedFindWithErrors(object):
def __init__(self, existing_replicas):
self.existing_replicas = existing_replicas
def __call__(self, cs, replica):
if replica not in self.existing_replicas:
raise StubbedReplicaFindError
return type('FakeShareReplica', (object,), {'id': replica})
all_replicas = []
existing_replicas = []
for counter in range(replica_count):
replica = 'fake-replica-%d' % counter
if counter >= replica_errors:
existing_replicas.append(replica)
all_replicas.append(replica)
shell_v2._find_share_replica.side_effect = StubbedFindWithErrors(
existing_replicas)
cmd = 'share-replica-delete %s' % ' '.join(all_replicas)
if replica_count == replica_errors:
self.assertRaises(exceptions.CommandError, self.run_command, cmd)
else:
self.run_command(cmd)
for replica in existing_replicas:
self.assert_called_anytime('DELETE',
'/share-replicas/' + replica,
clear_callstack=False)
def test_share_replica_list_all(self):
self.run_command('share-replica-list')

View File

@@ -4828,10 +4828,9 @@ def do_share_replica_show(cs, args):
def do_share_replica_delete(cs, args):
"""Remove one or more share replicas (Experimental)."""
failure_count = 0
kwargs = {}
if args.force is not None:
kwargs['force'] = args.force
kwargs = {
"force": args.force
}
for replica in args.replica:
try: