def test_execute_isolated_solids_with_bad_solid_names(): with pytest.raises(DagsterInvariantViolationError, match='but that solid was not found'): execute_solids_within_pipeline(PipelineDefinition([]), [], {'foo': { 'bar': 'baz' }})
def test_subset_with_mode_definitions(): called = {"a": 0, "b": 0} @resource def resource_a(): return 1 @solid(required_resource_keys={"a"}) def requires_a(context): called["a"] += 1 assert context.resources.a == 1 @resource def resource_b(): return 2 @solid(required_resource_keys={"b"}) def requires_b(context): called["b"] += 1 assert context.resources.b == 2 pipeline_def = PipelineDefinition( name="subset_test", solid_defs=[requires_a, requires_b], mode_defs=[ ModeDefinition(resource_defs={ "a": resource_a, "b": resource_b }) ], ) assert execute_pipeline(pipeline_def).success is True assert called == {"a": 1, "b": 1} assert (execute_solids_within_pipeline( pipeline_def, solid_names={"requires_a"})["requires_a"].success is True) assert called == {"a": 2, "b": 1}
def test_subset_with_mode_definitions(): called = {'a': 0, 'b': 0} @resource def resource_a(_init_context): return 1 @solid(required_resource_keys={'a'}) def requires_a(context): called['a'] += 1 assert context.resources.a == 1 @resource def resource_b(_init_context): return 2 @solid(required_resource_keys={'b'}) def requires_b(context): called['b'] += 1 assert context.resources.b == 2 pipeline_def = PipelineDefinition( name='subset_test', solid_defs=[requires_a, requires_b], mode_defs=[ ModeDefinition(resource_defs={ 'a': resource_a, 'b': resource_b }) ], ) assert execute_pipeline(pipeline_def).success is True assert called == {'a': 1, 'b': 1} assert (execute_solids_within_pipeline( pipeline_def, solid_names=['requires_a'])['requires_a'].success is True) assert called == {'a': 2, 'b': 1}