def METHOD_NAME(self):
    root = {
        "simple": 1,
        "deep": {
            "l1": {
                "l2": 1,
                "l2_2": 2,
            },
            "l1_2": {
                "l2": 3,
            },
        },
    }
    assert get_valid_dot_keys_with_wildcard(root, "simple") == ["simple"]
    assert get_valid_dot_keys_with_wildcard(root, "deep.l1.l2") == ["deep.l1.l2"]
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.l2") == ["deep.l1.l2", "deep.l1_2.l2"]
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.*") == ["deep.l1.l2", "deep.l1.l2_2", "deep.l1_2.l2"]
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.l2_2") == ["deep.l1.l2_2"]
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.l2_3") == []
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.l2.*") == []
    assert get_valid_dot_keys_with_wildcard(root, "deep.*.l2.*.l3") == []
    assert get_valid_dot_keys_with_wildcard(
        root,
        "deep.*.*",
        validate_func=lambda _root, _parts: _parts[1] == "l1_2",
    ) == ["deep.l1_2.l2"]