def test_calls_order(self, logger, heat_client, _job_ex, _db_ob, _shutdown, _delete_aa): class FakeHeatEngine(heat_engine.HeatEngine): def __init__(self): super(FakeHeatEngine, self).__init__() self.order = [] def _clean_job_executions(self, cluster): self.order.append('clean_job_executions') super(FakeHeatEngine, self)._clean_job_executions(cluster) def _remove_db_objects(self, cluster): self.order.append('remove_db_objects') super(FakeHeatEngine, self)._remove_db_objects(cluster) def _shutdown_instances(self, cluster): self.order.append('shutdown_instances') super(FakeHeatEngine, self)._shutdown_instances(cluster) def _delete_aa_server_group(self, cluster): self.order.append('delete_aa_server_group') super(FakeHeatEngine, self)._delete_aa_server_group(cluster) fake_cluster = mock.Mock() heat_client.side_effect = heat_exc.HTTPNotFound() engine = FakeHeatEngine() engine.shutdown_cluster(fake_cluster) self.assertEqual([ 'shutdown_instances', 'delete_aa_server_group', 'clean_job_executions', 'remove_db_objects' ], engine.order) self.assertEqual([ mock.call('Did not find stack for cluster. Trying to ' 'delete cluster manually.') ], logger.call_args_list)
def test_calls_order(self, logger, heat_client, _job_ex, _db_ob, _shutdown, _delete_aa): class FakeHeatEngine(heat_engine.HeatEngine): def __init__(self): super(FakeHeatEngine, self).__init__() self.order = [] def _clean_job_executions(self, cluster): self.order.append('clean_job_executions') super(FakeHeatEngine, self)._clean_job_executions(cluster) def _remove_db_objects(self, cluster): self.order.append('remove_db_objects') super(FakeHeatEngine, self)._remove_db_objects(cluster) def _shutdown_instances(self, cluster): self.order.append('shutdown_instances') super(FakeHeatEngine, self)._shutdown_instances(cluster) def _delete_aa_server_group(self, cluster): self.order.append('delete_aa_server_group') super(FakeHeatEngine, self)._delete_aa_server_group(cluster) fake_cluster = mock.Mock() heat_client.side_effect = heat_exc.HTTPNotFound() engine = FakeHeatEngine() engine.shutdown_cluster(fake_cluster) self.assertEqual(['shutdown_instances', 'delete_aa_server_group', 'clean_job_executions', 'remove_db_objects'], engine.order) self.assertEqual( [mock.call('Did not find stack for cluster. Trying to ' 'delete cluster manually.')], logger.call_args_list)
def test_force_delete_calls(self, cj, rdb, lazy_delete, delete, log_err): engine = heat_engine.HeatEngine() # Force delete (lazy_delete) engine.shutdown_cluster(mock.Mock(), force=True) self.assertEqual(delete.call_count, 0) self.assertEqual(lazy_delete.call_count, 1) self.assertEqual(cj.call_count, 1) self.assertEqual(rdb.call_count, 1) delete.reset_mock() lazy_delete.reset_mock() rdb.reset_mock() cj.reset_mock() # Regular delete engine.shutdown_cluster(mock.Mock(), force=False) self.assertEqual(delete.call_count, 1) self.assertEqual(lazy_delete.call_count, 0) self.assertEqual(cj.call_count, 1) self.assertEqual(rdb.call_count, 1)
def test_calls_order(self, logger, heat_client, _job_ex, _db_ob): class FakeHeatEngine(heat_engine.HeatEngine): def __init__(self): super(FakeHeatEngine, self).__init__() self.order = [] def _clean_job_executions(self, cluster): self.order.append('clean_job_executions') super(FakeHeatEngine, self)._clean_job_executions(cluster) def _remove_db_objects(self, cluster): self.order.append('remove_db_objects') super(FakeHeatEngine, self)._remove_db_objects(cluster) fake_cluster = mock.Mock() heat_client.side_effect = heat_exc.HTTPNotFound() engine = FakeHeatEngine() engine.shutdown_cluster(fake_cluster) self.assertEqual(['clean_job_executions', 'remove_db_objects'], engine.order) self.assertEqual([mock.call('Did not find stack for cluster.')], logger.call_args_list)
def test_force_delete_calls(self, cj, rdb, abandon, delete, log_err): engine = heat_engine.HeatEngine() # Force delete when Heat service support abandon engine.shutdown_cluster(mock.Mock(), force=True) self.assertEqual(delete.call_count, 0) self.assertEqual(abandon.call_count, 1) self.assertEqual(cj.call_count, 1) self.assertEqual(rdb.call_count, 1) delete.reset_mock() abandon.reset_mock() rdb.reset_mock() cj.reset_mock() # Regular delete engine.shutdown_cluster(mock.Mock(), force=False) self.assertEqual(delete.call_count, 1) self.assertEqual(abandon.call_count, 0) self.assertEqual(cj.call_count, 1) self.assertEqual(rdb.call_count, 1) delete.reset_mock() abandon.reset_mock() rdb.reset_mock() cj.reset_mock() # Force delete when stack abandon unavailable abandon.side_effect = heat_exc.BadRequest() engine.shutdown_cluster(mock.Mock(), force=True) self.assertEqual(delete.call_count, 0) self.assertEqual(abandon.call_count, 1) self.assertEqual(cj.call_count, 1) self.assertEqual(rdb.call_count, 1) log_err.assert_called_once_with( "Can't force delete cluster.", exc_info=True)