"""Unit tests for Base Workflow class.""" import datetime from unittest.mock import MagicMock from swf_monitoring.flows import base def test_flow_base_workflow_id(monkeypatch): """Test FlowBase workflow_id method.""" monkeypatch.setattr( base.FlowBaseMixin, 'generate_feed_name', MagicMock(return_value='feed_name')) flow_obj = MagicMock() flow_obj.name = 'some_workflow' flow_obj.workflow_id = base.FlowBaseMixin.workflow_id # test for passed context date dt = '2015-10-01' context = {'context_date': dt} expected_result = 'some_workflow-{date}'.format(date=dt) assert base.FlowBaseMixin.workflow_id(flow_obj, context) == expected_result # test for missing context date (defaults to today) expected_result = 'some_workflow-{date}'.format( date=datetime.datetime.today().strftime('%Y-%m-%d')) assert flow_obj.workflow_id( flow_obj, initial_context={}) == expected_result def test_generate_feed_name(): """Test generating feed name.""" actual_result = base.FlowBaseMixin.generate_feed_name('feed_name') assert actual_result == 'swf_feed_name'