示例#1
0
 def test_clean_normal_dict(self):
     context = RenderContext(None, None, None, None)
     schema = ParamDType.Dict({
         'str': ParamDType.String(),
         'int': ParamDType.Integer(),
     })
     value = {'str': 'foo', 'int': 3}
     expected = dict(value)  # no-op
     result = clean_value(schema, value, context)
     self.assertEqual(result, expected)
    def test_param_schema_explicit(self):
        mv = ModuleVersion.create_or_replace_from_spec(
            {
                'id_name': 'x',
                'name': 'x',
                'category': 'Clean',
                'parameters': [{
                    'id_name': 'whee',
                    'type': 'custom'
                }],
                'param_schema': {
                    'id_name': {
                        'type': 'dict',
                        'properties': {
                            'x': {
                                'type': 'integer'
                            },
                            'y': {
                                'type': 'string',
                                'default': 'X'
                            },
                        },
                    },
                },
            },
            source_version_hash='1.0')

        self.assertEqual(
            repr(mv.param_schema),
            repr(
                ParamDType.Dict({
                    'id_name':
                    ParamDType.Dict({
                        'x': ParamDType.Integer(),
                        'y': ParamDType.String(default='X'),
                    }),
                })))