test_data.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import salt.utils.data
  2. def test_get_value_simple_path():
  3. data = {"a": {"b": {"c": "foo"}}}
  4. assert [{"value": "foo"}] == salt.utils.data.get_value(data, "a:b:c")
  5. def test_get_value_placeholder_dict():
  6. data = {"a": {"b": {"name": "foo"}, "c": {"name": "bar"}}}
  7. assert [
  8. {"value": "foo", "id": "b"},
  9. {"value": "bar", "id": "c"},
  10. ] == salt.utils.data.get_value(data, "a:{id}:name")
  11. def test_get_value_placeholder_list():
  12. data = {"a": [{"name": "foo"}, {"name": "bar"}]}
  13. assert [
  14. {"value": "foo", "id": 0},
  15. {"value": "bar", "id": 1},
  16. ] == salt.utils.data.get_value(data, "a:{id}:name")
  17. def test_get_value_nested_placeholder():
  18. data = {
  19. "a": {
  20. "b": {"b1": {"name": "foo1"}, "b2": {"name": "foo2"}},
  21. "c": {"c1": {"name": "bar"}},
  22. }
  23. }
  24. assert [
  25. {"value": "foo1", "id": "b", "sub": "b1"},
  26. {"value": "foo2", "id": "b", "sub": "b2"},
  27. {"value": "bar", "id": "c", "sub": "c1"},
  28. ] == salt.utils.data.get_value(data, "a:{id}:{sub}:name")
  29. def test_get_value_nested_notfound():
  30. data = {"a": {"b": {"c": "foo"}}}
  31. assert [{"value": []}] == salt.utils.data.get_value(data, "a:b:d", [])
  32. def test_get_value_not_found():
  33. assert [{"value": []}] == salt.utils.data.get_value({}, "a", [])
  34. def test_get_value_none():
  35. assert [{"value": None}] == salt.utils.data.get_value({"a": None}, "a")
  36. def test_get_value_simple_type_path():
  37. assert [{"value": []}] == salt.utils.data.get_value({"a": 1024}, "a:b", [])
  38. def test_get_value_None_path():
  39. assert [{"value": None}] == salt.utils.data.get_value({"a": None}, "a:b", [])