コード例 #1
0
def test_transform_value_in_tuple():
    valuespec = vs.Tuple(elements=[
        vs.Transform(
            vs.TextInput(),
            forth=lambda x: x if x == "lala" else x.upper(),
            back=lambda x: x + "aaa",
        ),
        vs.Transform(
            vs.TextInput(),
            forth=lambda x: x if x == "lala" else x.upper(),
            back=lambda x: x + "aaa",
        ),
    ])

    assert valuespec.transform_value(("lala", "AAA")) == ("lalaaaa", "AAAaaa")
コード例 #2
0
ファイル: test_valuespec.py プロジェクト: PLUTEX/checkmk
def test_transform_value_with_transform_vs():
    valuespec = vs.Transform(
        vs.TextInput(),
        forth=lambda x: x if x == "lala" else x.upper(),
        back=lambda x: x + "aaa",
    )

    assert valuespec.transform_value("lala") == "lalaaaa"
    assert valuespec.transform_value("AAA") == "AAAaaa"
コード例 #3
0
def test_transform_value_in_dict():
    valuespec = vs.Dictionary(elements=[
        ("a",
         vs.Transform(
             vs.TextInput(),
             forth=lambda x: x if x == "lala" else x.upper(),
             back=lambda x: x + "aaa",
         )),
    ])

    assert valuespec.transform_value({"a": "lala"}) == {"a": "lalaaaa"}
    assert valuespec.transform_value({"a": "AAA"}) == {"a": "AAAaaa"}
コード例 #4
0
def test_transform_value_in_cascading_dropdown():
    valuespec = vs.CascadingDropdown(choices=[
        ("a", "Title a", vs.TextInput()),
        ("b", "Title b",
         vs.Transform(
             vs.TextInput(),
             forth=lambda x: x if x == "lala" else x.upper(),
             back=lambda x: x + "aaa",
         )),
    ])

    assert valuespec.transform_value(("a", "abc")) == ("a", "abc")
    assert valuespec.transform_value(("b", "lala")) == ("b", "lalaaaa")
    assert valuespec.transform_value(("b", "AAA")) == ("b", "AAAaaa")
コード例 #5
0
ファイル: test_valuespec.py プロジェクト: troelsarvin/checkmk
def test_transform_value_and_json():
    # before all keys where upper case, then we decided to move to lower case,
    # but want to keep compatibility with old values saved in the config
    valuespec = vs.Transform(
        vs.Dictionary(elements=[
            ("key1", vs.TextInput()),
        ]),
        forth=lambda x: {k.lower(): v
                         for k, v in x.items()},
    )
    assert valuespec.transform_value({"KEY1": "value1"}) == {"key1": "value1"}

    assert valuespec.value_to_json({"KEY1": "value1"}) == {"key1": "value1"}
    assert valuespec.value_from_json({"key1": "value1"}) == {"key1": "value1"}
コード例 #6
0
 def test_transform_value(self) -> None:
     opt_vs = vs.Optional(valuespec=vs.Transform(
         valuespec=vs.Dictionary(elements=[
             ("a", vs.TextInput()),
             ("b", vs.Age()),
         ]),
         forth=lambda p:
         {k: v + 10 if k == "b" else v
          for k, v in p.items()},
     ))
     assert opt_vs.transform_value(None) is None
     assert opt_vs.transform_value({
         "a": "text",
         "b": 10
     }) == {
         "a": "text",
         "b": 20
     }