Exemplo n.º 1
0
 def test_complex_tree_deep(self):
     self.assertEqual(
         [
             "0-title",
             "|  0-detail0",
             "`- 00-title",
             "   |- 000-title",
             "   |     000-detail0",
             "   |     000-detail1",
             "   `- 001-title",
             "      |- 0010-title [displayed elsewhere]",
             "      |- 0011-title",
             "      |     0011-detail0",
             "      |     0011-detail1",
             "      `- 0012-title",
             "         `- 00120-title",
         ],
         lib.tree_to_lines(
             node("0",
                  1,
                  members=[
                      node("00",
                           members=[
                               node("000", 2),
                               node("001",
                                    members=[
                                        node("0010", leaf=True),
                                        node("0011", 2),
                                        node("0012",
                                             members=[node("00120")]),
                                    ]),
                           ]),
                  ])),
     )
Exemplo n.º 2
0
 def test_one_member(self):
     self.assertEqual(
         [
             "l0-title",
             "`- l1-title",
         ],
         lib.tree_to_lines(node("l0", members=[node("l1")])),
     )
Exemplo n.º 3
0
 def test_detail_simple(self):
     self.assertEqual(
         [
             "l0-title",
             "   l0-detail0",
         ],
         lib.tree_to_lines(node("l0", 1)),
     )
Exemplo n.º 4
0
 def test_multiple_members_detail_leaf(self):
     self.assertEqual(
         ["l0-title [displayed elsewhere]"],
         lib.tree_to_lines(
             node("l0", 2, True,
                  [node("l1"), node("l2"),
                   node("l3")])),
     )
Exemplo n.º 5
0
 def test_detail(self):
     self.assertEqual(
         [
             "l0-title",
             "   l0-detail0",
             "   l0-detail1",
             "   l0-detail2",
         ],
         lib.tree_to_lines(node("l0", 3)),
     )
Exemplo n.º 6
0
 def test_multiple_members(self):
     self.assertEqual(
         [
             "l0-title",
             "|- l1-title",
             "|- l2-title",
             "`- l3-title",
         ],
         lib.tree_to_lines(
             node("l0", members=[node("l1"),
                                 node("l2"),
                                 node("l3")])),
     )
Exemplo n.º 7
0
def show_resource_relations_cmd(
    lib: Any,
    argv: Sequence[str],
    modifiers: InputModifiers,
) -> None:
    """
    Options:
      * -f - CIB file
    """
    modifiers.ensure_only_supported("-f")
    if len(argv) != 1:
        raise CmdLineInputError()
    tree = ResourcePrintableNode.from_dto(
        ResourceRelationDto.from_dict(
            lib.resource.get_resource_relations_tree(argv[0])))
    for line in tree_to_lines(tree):
        print(line)
Exemplo n.º 8
0
def show_resource_relations_cmd(
    lib: Any, argv: Sequence[str], modifiers: InputModifiers,
) -> None:
    """
    Options:
      * -f - CIB file
      * --full - show constraint ids and resource types
    """
    modifiers.ensure_only_supported("-f", "--full")
    if len(argv) != 1:
        raise CmdLineInputError()
    tree = ResourcePrintableNode.from_dto(
        dto.from_dict(
            ResourceRelationDto,
            lib.resource.get_resource_relations_tree(argv[0]),
        )
    )
    for line in tree_to_lines(tree, verbose=modifiers.get("--full")):
        print(line)
Exemplo n.º 9
0
 def test_one_member_leaf(self):
     self.assertEqual(
         ["l0-title [displayed elsewhere]"],
         lib.tree_to_lines(node("l0", leaf=True, members=[node("l1")])),
     )
Exemplo n.º 10
0
 def test_detail_leaf(self):
     self.assertEqual(
         ["l0-title [displayed elsewhere]"],
         lib.tree_to_lines(node("l0", 3, True)),
     )
Exemplo n.º 11
0
 def test_empty(self):
     self.assertEqual(["l0-title"], lib.tree_to_lines(node("l0")))
Exemplo n.º 12
0
 def test_verbose(self):
     self.assertEqual(["l0-title (verbose)"],
                      lib.tree_to_lines(node("l0"), verbose=True))
Exemplo n.º 13
0
 def test_complex_tree_wide(self):
     self.assertEqual(
         [
             "0-title",
             "|  0-detail0",
             "|  0-detail1",
             "|- 00-title",
             "|     00-detail0",
             "|     00-detail1",
             "|- 01-title",
             "|  |- 010-title",
             "|  |  `- 0100-title [displayed elsewhere]",
             "|  `- 011-title",
             "|- 02-title",
             "|  |  02-detail0",
             "|  |  02-detail1",
             "|  |  02-detail2",
             "|  |- 020-title",
             "|  `- 021-title",
             "|     |  021-detail0",
             "|     |- 0210-title [displayed elsewhere]",
             "|     |- 0211-title",
             "|     |     0211-detail0",
             "|     |     0211-detail1",
             "|     `- 0212-title",
             "|        `- 02120-title",
             "|- 03-title",
             "|  `- 030-title",
             "|     `- 0300-title",
             "|- 04-title [displayed elsewhere]",
             "`- 05-title",
             "      05-detail0",
         ],
         lib.tree_to_lines(
             node(
                 "0",
                 2,
                 members=[
                     node("00", 2),
                     node(
                         "01",
                         members=[
                             node("010", members=[node("0100", leaf=True)]),
                             node("011"),
                         ],
                     ),
                     node(
                         "02",
                         3,
                         members=[
                             node("020"),
                             node(
                                 "021",
                                 1,
                                 members=[
                                     node("0210", leaf=True),
                                     node("0211", 2),
                                     node("0212", members=[node("02120")]),
                                 ],
                             ),
                         ],
                     ),
                     node(
                         "03",
                         members=[node("030", members=[node("0300")])],
                     ),
                     node("04", leaf=True),
                     node("05", 1),
                 ],
             )),
     )