def test_should_not_raise_exceptions_when_deleting_a_complete_cluster(self): versions = [{'version': 'test-version1'}, {'version': 'test-version2'}] senza_mock = SenzaWrapper(CONFIG) senza_versions_mock = senza_mock.get_all_stack_versions = MagicMock(return_value=versions) senza_switch_mock = senza_mock.switch_traffic = MagicMock(return_value=True) senza_delete_mock = senza_mock.delete_stack_version = MagicMock() controller = ClusterDeleteController(base_url=BASE_URL, stack_name=STACK_NAME, oauth_token=OAUTH_TOKEN, senza_wrapper=senza_mock) urlopen_mock = MagicMock(side_effect=self.__side_effect_return_cluster_state) urllib.request.urlopen = urlopen_mock controller.delete_cluster() senza_versions_mock.assert_called_once_with(STACK_NAME) switch_calls = senza_switch_mock.call_args_list self.assertEquals(2, len(switch_calls), 'Unexpected number of switch calls') self.assertEqual(switch_calls[0][0][0], STACK_NAME) self.assertEqual(switch_calls[0][0][1], 'test-version1') self.assertEqual(switch_calls[0][0][2], 0) self.assertEqual(switch_calls[1][0][0], STACK_NAME) self.assertEqual(switch_calls[1][0][1], 'test-version2') self.assertEqual(switch_calls[1][0][2], 0) delete_calls = senza_delete_mock.call_args_list self.assertEquals(2, len(delete_calls), 'Unexpected number of delete calls') self.assertEqual(delete_calls[0][0][0], STACK_NAME) self.assertEqual(delete_calls[0][0][1], 'test-version1') self.assertEqual(delete_calls[1][0][0], STACK_NAME) self.assertEqual(delete_calls[1][0][1], 'test-version2')
def test_should_raise_exception_when_deleting_a_complete_cluster_without_version(self): versions = [] senza_mock = SenzaWrapper(CONFIG) senza_versions_mock = senza_mock.get_all_stack_versions = MagicMock(return_value=versions) controller = ClusterDeleteController(base_url=BASE_URL, stack_name=STACK_NAME, oauth_token=OAUTH_TOKEN, senza_wrapper=senza_mock) with self.assertRaisesRegex(Exception, 'No active stack version found'): controller.delete_cluster() senza_versions_mock.assert_called_once_with(STACK_NAME)