def test_volume_attached(self): ''' Test to check if a block volume is attached. ''' name = 'mycloud' server_name = 'mycloud_server' disk_name = 'trogdor' ret = {'name': name, 'result': False, 'changes': {}, 'comment': ''} mock = MagicMock(return_value=False) mock_dict = MagicMock(side_effect=[{ name: { 'name': disk_name, 'attachments': True } }, {}, { name: { 'name': disk_name, 'attachments': False } }, { name: { 'name': disk_name, 'attachments': False } }, { name: { 'name': disk_name, 'attachments': False } }]) with patch.dict(cloud.__salt__, { 'cloud.volume_list': mock_dict, 'cloud.action': mock }): with patch.object(salt.utils.cloud, 'check_name', MagicMock(side_effect=[True, False, True])): comt = ('Invalid characters in name.') ret.update({'comment': comt}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) ret.update({'name': server_name}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Volume {0} is already attached: True'.format(disk_name)) ret.update({'comment': comt, 'result': True}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Volume {0} does not exist'.format(name)) ret.update({'comment': comt, 'result': False}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Server {0} does not exist'.format(server_name)) ret.update({'comment': comt, 'result': False}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) mock = MagicMock(return_value=True) with patch.dict(cloud.__salt__, { 'cloud.action': mock, 'cloud.volume_attach': mock }): with patch.dict(cloud.__opts__, {'test': True}): comt = ( 'Volume {0} will be will be attached.'.format(name)) ret.update({'comment': comt, 'result': None}) self.assertDictEqual( cloud.volume_attached(name, server_name), ret) with patch.dict(cloud.__opts__, {'test': False}): comt = ('Volume {0} was created'.format(name)) ret.update({ 'comment': comt, 'result': True, 'changes': { 'new': True, 'old': { 'name': disk_name, 'attachments': False } } }) self.assertDictEqual( cloud.volume_attached(name, server_name), ret)
def test_volume_attached(): """ Test to check if a block volume is attached. """ name = "mycloud" server_name = "mycloud_server" disk_name = "trogdor" ret = {"name": name, "result": False, "changes": {}, "comment": ""} mock = MagicMock(return_value=False) mock_dict = MagicMock(side_effect=[ { name: { "name": disk_name, "attachments": True } }, {}, { name: { "name": disk_name, "attachments": False } }, { name: { "name": disk_name, "attachments": False } }, { name: { "name": disk_name, "attachments": False } }, ]) with patch.dict(cloud.__salt__, { "cloud.volume_list": mock_dict, "cloud.action": mock }): with patch.object( salt.utils.cloud, "check_name", MagicMock(side_effect=[True, False, True]), ): comt = "Invalid characters in name." ret.update({"comment": comt}) assert cloud.volume_attached(name, server_name) == ret ret.update({"name": server_name}) assert cloud.volume_attached(name, server_name) == ret comt = "Volume {} is already attached: True".format(disk_name) ret.update({"comment": comt, "result": True}) assert cloud.volume_attached(name, server_name) == ret comt = "Volume {} does not exist".format(name) ret.update({"comment": comt, "result": False}) assert cloud.volume_attached(name, server_name) == ret comt = "Server {} does not exist".format(server_name) ret.update({"comment": comt, "result": False}) assert cloud.volume_attached(name, server_name) == ret mock = MagicMock(return_value=True) with patch.dict(cloud.__salt__, { "cloud.action": mock, "cloud.volume_attach": mock }): with patch.dict(cloud.__opts__, {"test": True}): comt = "Volume {} will be will be attached.".format(name) ret.update({"comment": comt, "result": None}) assert cloud.volume_attached(name, server_name) == ret with patch.dict(cloud.__opts__, {"test": False}): comt = "Volume {} was created".format(name) ret.update({ "comment": comt, "result": True, "changes": { "new": True, "old": { "name": disk_name, "attachments": False }, }, }) assert cloud.volume_attached(name, server_name) == ret
def test_volume_attached(self): ''' Test to check if a block volume is attached. ''' name = 'mycloud' server_name = 'mycloud_server' disk_name = 'trogdor' ret = {'name': name, 'result': False, 'changes': {}, 'comment': ''} mock = MagicMock(return_value=False) mock_dict = MagicMock(side_effect=[{name: {'name': disk_name, 'attachments': True}}, {}, {name: {'name': disk_name, 'attachments': False}}, {name: {'name': disk_name, 'attachments': False}}, {name: {'name': disk_name, 'attachments': False}}]) with patch.dict(cloud.__salt__, {'cloud.volume_list': mock_dict, 'cloud.action': mock}): with patch.object(salt.utils.cloud, 'check_name', MagicMock(side_effect=[True, False, True])): comt = ('Invalid characters in name.') ret.update({'comment': comt}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) ret.update({'name': server_name}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Volume {0} is already attached: True'.format(disk_name)) ret.update({'comment': comt, 'result': True}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Volume {0} does not exist'.format(name)) ret.update({'comment': comt, 'result': False}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) comt = ('Server {0} does not exist'.format(server_name)) ret.update({'comment': comt, 'result': False}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) mock = MagicMock(return_value=True) with patch.dict(cloud.__salt__, {'cloud.action': mock, 'cloud.volume_attach': mock}): with patch.dict(cloud.__opts__, {'test': True}): comt = ('Volume {0} will be will be attached.'.format(name)) ret.update({'comment': comt, 'result': None}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret) with patch.dict(cloud.__opts__, {'test': False}): comt = ('Volume {0} was created'.format(name)) ret.update({'comment': comt, 'result': True, 'changes': {'new': True, 'old': {'name': disk_name, 'attachments': False}}}) self.assertDictEqual(cloud.volume_attached(name, server_name), ret)