def test_solid_config_error(): pipeline_def = define_test_solids_config_pipeline() solid_dict_type = define_solid_dictionary_cls( pipeline_def.solids, pipeline_def.dependency_structure, ) int_solid_config_type = solid_dict_type.fields['int_config_solid'].config_type with pytest.raises(DagsterEvaluateConfigValueError, match='Undefined field "notconfig"'): throwing_validate_config_value(int_solid_config_type, {'notconfig': 1}) with pytest.raises(DagsterEvaluateConfigValueError): throwing_validate_config_value(int_solid_config_type, 1)
def test_required_solid_with_required_subfield(): pipeline_def = PipelineDefinition( name='some_pipeline', solid_defs=[ SolidDefinition( name='int_config_solid', config={'required_field': String}, input_defs=[], output_defs=[], compute_fn=lambda *_args: None, ) ], ) env_type = create_environment_type(pipeline_def) assert env_type.fields['solids'].is_optional is False assert env_type.fields['solids'].config_type solids_type = env_type.fields['solids'].config_type assert solids_type.fields['int_config_solid'].is_optional is False int_config_solid_type = solids_type.fields['int_config_solid'].config_type assert int_config_solid_type.fields['config'].is_optional is False assert env_type.fields['execution'].is_optional env_obj = EnvironmentConfig.build( pipeline_def, { 'solids': { 'int_config_solid': { 'config': { 'required_field': 'foobar' } } } }, ) assert env_obj.solids['int_config_solid'].config[ 'required_field'] == 'foobar' with pytest.raises(DagsterEvaluateConfigValueError): throwing_validate_config_value(env_type, {'solids': {}}) with pytest.raises(DagsterEvaluateConfigValueError): throwing_validate_config_value(env_type, {})
def test_files_default_config(): pipeline_def = PipelineDefinition(name='pipeline', solid_defs=[]) env_type = create_environment_type(pipeline_def) assert 'storage' in env_type.fields config_value = throwing_validate_config_value(env_type, {}) assert 'storage' not in config_value
def test_storage_in_memory_config(): pipeline_def = PipelineDefinition(name='pipeline', solid_defs=[]) env_type = create_environment_type(pipeline_def) assert 'storage' in env_type.fields config_value = throwing_validate_config_value(env_type, {'storage': {'in_memory': {}}}) assert config_value['storage'] == {'in_memory': {}}
def _validate(config_field, value): return throwing_validate_config_value(config_field.config_type, value)
def test_solid_config(): solid_config_type = define_solid_config_cls(Field(Int), None, None) solid_inst = throwing_validate_config_value(solid_config_type, {'config': 1}) assert solid_inst['config'] == 1 assert solid_config_type.type_attributes.is_system_config