def test_create_activity_instance_input_with_zero_or_empty_values(monkeypatch): """Test the creation of a context for an activity instance input. """ @task.decorate() def task_a(value1, value2, value3, value4): pass activity_mock = MagicMock() activity_mock.name = 'activity' activity_mock.runner = runner.BaseRunner( task_a.fill(value1='zero', value2='empty_list', value3='empty_dict', value4='none')) instance = activity.ActivityInstance(activity_mock, local_context=dict(zero=0, empty_list=[], empty_dict={}, none=None)) resp = instance.create_execution_input() assert len(resp) == 6 assert resp.get('zero') == 0 assert resp.get('empty_list') == [] assert resp.get('empty_dict') == {} assert 'none' not in resp
def test_create_activity_instance(): """Test the creation of an activity instance. """ activity_mock = MagicMock() activity_mock.name = 'foobar' activity_mock.retry = 20 instance = activity.ActivityInstance(activity_mock) assert activity_mock.name == instance.activity_name assert activity_mock.retry == instance.retry
def test_create_activity_instance_input_without_runner(monkeypatch): """Test the creation of a context for an activity instance input without specifying a runner. """ activity_mock = MagicMock() activity_mock.name = 'activity' activity_mock.runner = None context = dict(context='yes') instance = activity.ActivityInstance(activity_mock, context) with pytest.raises(runner.RunnerMissing): instance.create_execution_input()
def test_create_activity_instance_id_with_local_context(monkeypatch): """Test the creation of an activity instance id with the use of a local context. """ monkeypatch.setattr(utils, 'create_dictionary_key', MagicMock()) activity_mock = MagicMock() activity_mock.name = 'activity' instance = activity.ActivityInstance(activity_mock, dict(foobar='yes')) assert instance.id.startswith(activity_mock.name) assert utils.create_dictionary_key.called
def test_create_activity_instance_id(monkeypatch): """Test the creation of an activity instance id. """ monkeypatch.setattr(utils, 'create_dictionary_key', MagicMock()) activity_mock = MagicMock() activity_mock.name = 'activity' instance = activity.ActivityInstance(activity_mock) # No context was passed, so create_dictionary key didn't need to be # called. assert instance.id == activity_mock.name + '-1' assert not utils.create_dictionary_key.called
def test_create_activity_instance_input_without_decorate(monkeypatch): """Test the creation of a context input without the use of a decorator. """ def task_a(value): pass activity_mock = MagicMock() activity_mock.name = 'activity' context = dict(foo='bar') local_context = dict(context='yes') activity_mock.runner = runner.BaseRunner(task_a) instance = activity.ActivityInstance(activity_mock, local_context=local_context, execution_context=context) resp = instance.create_execution_input() assert resp.get('foo') == 'bar' assert resp.get('context') == 'yes'
def test_create_activity_instance_input(monkeypatch): """Test the creation of a context for an activity instance input. """ @task.decorate() def task_a(value): pass activity_mock = MagicMock() activity_mock.name = 'activity' activity_mock.runner = runner.BaseRunner(task_a.fill(value='context')) instance = activity.ActivityInstance( activity_mock, local_context=dict(context='yes', unused='no'), execution_context=dict(somemore='values')) resp = instance.create_execution_input() assert len(resp) == 2 assert resp.get('context') == 'yes' assert resp.get('somemore') == 'values'