def test_param_schema_implicit(self):
        mv = ModuleVersion.create_or_replace_from_spec(
            {
                "id_name":
                "x",
                "name":
                "x",
                "category":
                "Clean",
                "parameters": [
                    {
                        "id_name": "foo",
                        "type": "string",
                        "default": "X"
                    },
                    {
                        "id_name": "bar",
                        "type": "secret",
                        "secret_logic": {
                            "provider": "oauth",
                            "service": "google"
                        },
                    },
                    {
                        "id_name":
                        "baz",
                        "type":
                        "menu",
                        "options": [
                            {
                                "value": "a",
                                "label": "A"
                            },
                            "separator",
                            {
                                "value": "c",
                                "label": "C"
                            },
                        ],
                        "default":
                        "c",
                    },
                ],
            },
            source_version_hash="1.0",
        )

        self.assertEqual(
            repr(mv.param_schema),
            repr(
                ParamDType.Dict({
                    "foo":
                    ParamDType.String(default="X"),
                    # secret is not in param_schema
                    "baz":
                    ParamDType.Enum(choices=frozenset({"a", "c"}),
                                    default="c"),
                })),
        )
Пример #2
0
    def test_param_schema_implicit(self):
        mv = ModuleVersion.create_or_replace_from_spec(
            {
                'id_name':
                'x',
                'name':
                'x',
                'category':
                'Clean',
                'parameters': [
                    {
                        'id_name': 'foo',
                        'type': 'string',
                        'default': 'X'
                    },
                    {
                        'id_name': 'bar',
                        'type': 'secret',
                        'secret_logic': {
                            'provider': 'oauth',
                            'service': 'google'
                        }
                    },
                    {
                        'id_name':
                        'baz',
                        'type':
                        'menu',
                        'options': [
                            {
                                'value': 'a',
                                'label': 'A'
                            },
                            'separator',
                            {
                                'value': 'c',
                                'label': 'C'
                            },
                        ],
                        'default':
                        'c'
                    },
                ]
            },
            source_version_hash='1.0')

        self.assertEqual(
            repr(mv.param_schema),
            repr(
                ParamDType.Dict({
                    'foo':
                    ParamDType.String(default='X'),
                    # secret is not in param_schema
                    'baz':
                    ParamDType.Enum(choices=frozenset({'a', 'c'}),
                                    default='c'),
                })))