예제 #1
0
def test_opt_nullable_dict_param():
    assert check.opt_nullable_dict_param(None,
                                         "opt_nullable_dict_param") is None
    assert check.opt_nullable_dict_param({}, "opt_nullable_dict_param") == {}
    assert check.opt_nullable_dict_param(frozendict(),
                                         "opt_nullable_dict_param") == {}
    ddict = {"a": 2}
    assert check.opt_nullable_dict_param(ddict,
                                         "opt_nullable_dict_param") == ddict

    class Foo(object):
        pass

    class Bar(Foo):
        pass

    ddict_class = {"a": Bar}
    assert (check.opt_nullable_dict_param(ddict_class,
                                          "opt_nullable_dict_param",
                                          value_class=Foo) == ddict_class)

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param(1, "opt_nullable_dict_param")

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param("foo", "opt_nullable_dict_param")
예제 #2
0
def test_opt_nullable_dict_param():
    assert check.opt_nullable_dict_param(None,
                                         'opt_nullable_dict_param') is None
    assert check.opt_nullable_dict_param({}, 'opt_nullable_dict_param') == {}
    assert check.opt_nullable_dict_param(frozendict(),
                                         'opt_nullable_dict_param') == {}
    ddict = {'a': 2}
    assert check.opt_nullable_dict_param(ddict,
                                         'opt_nullable_dict_param') == ddict

    class Foo(object):
        pass

    class Bar(Foo):
        pass

    ddict_class = {'a': Bar}
    assert (check.opt_nullable_dict_param(ddict_class,
                                          'opt_nullable_dict_param',
                                          value_class=Foo) == ddict_class)

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param(1, 'opt_nullable_dict_param')

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param('foo', 'opt_nullable_dict_param')
예제 #3
0
파일: preset.py 프로젝트: xyzlat/dagster
    def with_additional_config(self, run_config):
        '''Return a new PresetDefinition with additional config merged in to the existing config.'''

        check.opt_nullable_dict_param(run_config, 'run_config')
        if run_config is None:
            return self
        else:
            return PresetDefinition(
                name=self.name,
                solid_selection=self.solid_selection,
                mode=self.mode,
                run_config=merge_dicts(self.run_config, run_config),
            )
예제 #4
0
    def with_additional_config(self, environment_dict):
        '''return a new PresetDefinition with additional config merged in to the existing config'''

        check.opt_nullable_dict_param(environment_dict, 'environment_dict')
        if environment_dict is None:
            return self
        else:
            return PresetDefinition(
                name=self.name,
                solid_subset=self.solid_subset,
                mode=self.mode,
                environment_dict=merge_dicts(self.environment_dict,
                                             environment_dict),
            )
예제 #5
0
파일: preset.py 프로젝트: zuik/dagster
    def with_additional_config(self, run_config):
        """Return a new PresetDefinition with additional config merged in to the existing config."""

        check.opt_nullable_dict_param(run_config, "run_config")
        if run_config is None:
            return self
        else:
            return PresetDefinition(
                name=self.name,
                solid_selection=self.solid_selection,
                mode=self.mode,
                tags=self.tags,
                run_config=deep_merge_dicts(self.run_config, run_config),
            )
예제 #6
0
 def __new__(
     cls,
     key: str,
     inputs: List["ExecutionStepInputSnap"],
     outputs: List["ExecutionStepOutputSnap"],
     solid_handle_id: str,
     kind: StepKind,
     metadata_items: List["ExecutionPlanMetadataItemSnap"],
     tags: Optional[Dict[str, str]] = None,
     step_handle: Optional[StepHandleUnion] = None,
 ):
     return super(ExecutionStepSnap, cls).__new__(
         cls,
         key=check.str_param(key, "key"),
         inputs=check.list_param(inputs, "inputs", ExecutionStepInputSnap),
         outputs=check.list_param(outputs, "outputs",
                                  ExecutionStepOutputSnap),
         solid_handle_id=check.str_param(solid_handle_id,
                                         "solid_handle_id"),
         kind=check.inst_param(kind, "kind", StepKind),
         metadata_items=check.list_param(metadata_items, "metadata_items",
                                         ExecutionPlanMetadataItemSnap),
         tags=check.opt_nullable_dict_param(tags,
                                            "tags",
                                            key_type=str,
                                            value_type=str),
         step_handle=check.opt_inst_param(step_handle, "step_handle",
                                          StepHandleTypes),
     )
예제 #7
0
 def __new__(
     cls,
     key,
     inputs,
     outputs,
     solid_handle_id,
     kind,
     metadata_items,
     tags=None,
     step_handle=None,
 ):
     return super(ExecutionStepSnap, cls).__new__(
         cls,
         key=check.str_param(key, "key"),
         inputs=check.list_param(inputs, "inputs", ExecutionStepInputSnap),
         outputs=check.list_param(outputs, "outputs",
                                  ExecutionStepOutputSnap),
         solid_handle_id=check.str_param(solid_handle_id,
                                         "solid_handle_id"),
         kind=check.inst_param(kind, "kind", StepKind),
         metadata_items=check.list_param(metadata_items, "metadata_items",
                                         ExecutionPlanMetadataItemSnap),
         tags=check.opt_nullable_dict_param(tags, "tags", key_type=str),
         step_handle=check.opt_inst_param(step_handle, "step_handle",
                                          StepHandleTypes),
     )
예제 #8
0
def test_opt_nullable_dict_param():
    assert check.opt_nullable_dict_param(None, 'opt_nullable_dict_param') is None
    assert check.opt_nullable_dict_param({}, 'opt_nullable_dict_param') == {}
    ddict = {'a': 2}
    assert check.opt_nullable_dict_param(ddict, 'opt_nullable_dict_param') == ddict

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param(1, 'opt_nullable_dict_param')

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param('foo', 'opt_nullable_dict_param')
예제 #9
0
def test_opt_nullable_dict_param():
    assert check.opt_nullable_dict_param(None,
                                         "opt_nullable_dict_param") is None
    assert check.opt_nullable_dict_param({}, "opt_nullable_dict_param") == {}
    assert check.opt_nullable_dict_param(frozendict(),
                                         "opt_nullable_dict_param") == {}
    ddict = {"a": 2}
    assert check.opt_nullable_dict_param(ddict,
                                         "opt_nullable_dict_param") == ddict

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param(1, "opt_nullable_dict_param")

    with pytest.raises(ParameterCheckError):
        check.opt_nullable_dict_param("foo", "opt_nullable_dict_param")
예제 #10
0
    def __init__(
        self,
        name: Optional[str] = None,
        input_defs: Optional[Sequence[InputDefinition]] = None,
        output_defs: Optional[Sequence[OutputDefinition]] = None,
        description: Optional[str] = None,
        required_resource_keys: Optional[Set[str]] = None,
        config_schema: Optional[Union[Any, Dict[str, Any]]] = None,
        tags: Optional[Dict[str, Any]] = None,
        version: Optional[str] = None,
        decorator_takes_context: Optional[bool] = True,
        retry_policy: Optional[RetryPolicy] = None,
        ins: Optional[Dict[str, In]] = None,
        out: Optional[Union[Out, Dict[str, Out]]] = None,
    ):
        self.name = check.opt_str_param(name, "name")
        self.input_defs = check.opt_nullable_sequence_param(
            input_defs, "input_defs", of_type=InputDefinition)
        self.output_defs = output_defs
        self.decorator_takes_context = check.bool_param(
            decorator_takes_context, "decorator_takes_context")

        self.description = check.opt_str_param(description, "description")

        # these will be checked within SolidDefinition
        self.required_resource_keys = required_resource_keys
        self.tags = tags
        self.version = version
        self.retry_policy = retry_policy

        # config will be checked within SolidDefinition
        self.config_schema = config_schema

        self.ins = check.opt_nullable_dict_param(ins,
                                                 "ins",
                                                 key_type=str,
                                                 value_type=In)
        self.out = out