summaryrefslogtreecommitdiff
path: root/plugins/ext_test/examples/example.py
blob: 7dbb6677e12dba31b1a7c1a4457f55ad0cd3d54a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#
# coding=utf-8
# import cmd2
import cmd2_ext_test

import cmd2
import cmd2.py_bridge


class Example(cmd2.Cmd):
    """An class to show how to use a plugin"""

    def __init__(self, *args, **kwargs):
        # gotta have this or neither the plugin or cmd2 will initialize
        super().__init__(*args, **kwargs)

    def do_something(self, arg):
        self.last_result = 5
        self.poutput('this is the something command')


class ExampleTester(cmd2_ext_test.ExternalTestMixin, Example):
    def __init__(self, *args, **kwargs):
        # gotta have this or neither the plugin or cmd2 will initialize
        super().__init__(*args, **kwargs)


if __name__ == '__main__':
    app = ExampleTester()

    try:
        app.fixture_setup()

        out = app.app_cmd("something")
        assert isinstance(out, cmd2.CommandResult)

        assert out.data == 5

    finally:
        app.fixture_teardown()