File: tools.py

package info (click to toggle)
pcs 0.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,148 kB
  • sloc: python: 238,810; xml: 20,833; ruby: 13,203; makefile: 1,595; sh: 484
file content (50 lines) | stat: -rw-r--r-- 1,741 bytes parent folder | download | duplicates (2)
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
41
42
43
44
45
46
47
48
49
50
from pcs_test.tools.command_env.assistant import EnvAssistant
from pcs_test.tools.command_env.config_runner_cib import CIB_FILENAME
from pcs_test.tools.command_env.config_runner_pcmk import (
    DEFAULT_WAIT_TIMEOUT,
    WAIT_TIMEOUT_EXPIRED_RETURNCODE,
)


def get_env_tools(
    test_case,
    *,
    base_cib_filename=CIB_FILENAME,
    default_wait_timeout=DEFAULT_WAIT_TIMEOUT,
    default_wait_error_returncode=WAIT_TIMEOUT_EXPIRED_RETURNCODE,
    exception_reports_in_processor_by_default=True,
    local_extensions=None,
    booth_env=None,
):
    """
    Shortcut for preparing EnvAssistant and Config

    TestCase test_case -- corresponding test_case is used to registering cleanup
        method - to assert that everything is finished
    dict local_extensions -- key is name of a local extension, value is a class
        that will be used for local extension. So it will be possible to use
        something like this in a config :
            config.my_local_extension.my_local_call_shortcut()
    """
    del booth_env
    env_assistant = EnvAssistant(
        test_case=test_case,
        exception_reports_in_processor_by_default=(
            exception_reports_in_processor_by_default
        ),
    )

    runner = env_assistant.config.runner
    runner.cib.cib_filename = base_cib_filename
    runner.pcmk.default_wait_timeout = default_wait_timeout
    runner.pcmk.default_wait_error_returncode = default_wait_error_returncode

    if local_extensions:
        # pylint: disable=invalid-name
        for name, ExtensionClass in local_extensions.items():
            env_assistant.config.add_extension(
                name,
                ExtensionClass,
            )

    return env_assistant, env_assistant.config