def test_post_deploy_passed(self, send_notification, move_active, run, skipped): """Post-deploy action passes""" f = FSM(TEST_PBID, state_id) msg_completed = {'status': 'started'} consume_iter = [ (mock.Mock(name="method_mocked"), mock.Mock(name="properties_mocked"), json.dumps(msg_completed)) ] # Pre-test scaffolding. Hard-code some mocked out # attributes/variables because we're skipping the usual # initialization steps. f.conn = mock.Mock(pika.connection.Connection) publish = mock.Mock() channel = mock.Mock() channel.consume.return_value = iter(consume_iter) channel.basic_publish = publish f.ch = channel f.active_sequence = {'hosts': ['localhost']} f.group = 'testgroup' f.dynamic = {} f.active_step = new_notify_step('failed') f.post_deploy_action = [ { "NAME": "Update dates", "COMMAND": "servicenow", "SUBCOMMAND": "updatedates", "PARAMETERS": { "foo": "bar" } } ] with mock.patch('recore.amqp.MQ_CONF') as mq_conf: mq_conf = MQ_CONF set_field = mock.MagicMock() filter = mock.MagicMock(return_value=set_field) f.filter = filter self.assertEqual(f._post_deploy_action(), True)