コード例 #1
0
ファイル: test_types.py プロジェクト: lenamax2355/cjworkbench
    def test_param_schema_implicit(self):
        spec = ModuleSpec(
            id_name="googlesheets",
            name="x",
            category="Clean",
            parameters=[
                {
                    "id_name": "foo",
                    "type": "string",
                    "default": "X"
                },
                {
                    "id_name": "bar",
                    "type": "secret",
                    "secret_logic": {
                        "provider": "oauth2",
                        "service": "google"
                    },
                },
                {
                    "id_name":
                    "baz",
                    "type":
                    "menu",
                    "options": [
                        {
                            "value": "a",
                            "label": "A"
                        },
                        "separator",
                        {
                            "value": "c",
                            "label": "C"
                        },
                    ],
                    "default":
                    "c",
                },
            ],
        )

        self.assertEqual(
            spec.get_param_schema(),
            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 dtype(self) -> Optional[ParamDType]:
     return ParamDType.Enum(
         choices=frozenset.union(*[o.dtype_choices for o in self.options]),
         default=self.default,
     )