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 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
"""Test cli_example"""
from os import devnull
from unittest import TestCase
from click import testing as clicktest
from es_client.cli_example import run
from . import CACRT, HOST, PASS, USER
from ..unit import FileTestObj
YAMLCONFIG = "\n".join(
[
"---",
"logging:",
" loglevel: INFO",
" logfile:",
" logformat: default",
" blacklist: ['elastic_transport', 'urllib3']",
]
)
class TestCLIExample(TestCase):
"""Test CLI Example"""
def test_basic_operation(self):
"Ensure basic functionality"
args = [
"--hosts",
HOST,
"--username",
USER,
"--password",
PASS,
"--ca_certs",
CACRT,
"--loglevel",
"DEBUG",
"test-connection",
]
runner = clicktest.CliRunner(mix_stderr=True)
result = runner.invoke(run, args)
assert result.exit_code == 0
def test_show_all_options(self):
"""Ensure show-all-options works"""
args = ["show-all-options"]
runner = clicktest.CliRunner()
result = runner.invoke(run, args=args)
assert result.exit_code == 0
def test_logging_options_json(self):
"""Testing JSON log options"""
args = [
"--hosts",
HOST,
"--username",
USER,
"--password",
PASS,
"--ca_certs",
CACRT,
"--loglevel",
"DEBUG",
"--logformat",
"json",
"test-connection",
]
runner = clicktest.CliRunner()
result = runner.invoke(run, args=args)
assert result.exit_code == 0
def test_logging_options_ecs(self):
"""Testing ECS log options"""
args = [
"--hosts",
HOST,
"--username",
USER,
"--password",
PASS,
"--ca_certs",
CACRT,
"--loglevel",
"WARNING",
"--logfile",
devnull,
"--logformat",
"ecs",
"test-connection",
]
runner = clicktest.CliRunner()
result = runner.invoke(run, args)
assert result.exit_code == 0
def test_logging_options_from_config_file(self):
"""Testing logging options from a config file"""
# Build
file_obj = FileTestObj()
file_obj.write_config(file_obj.args["configfile"], YAMLCONFIG)
# Test
args = [
"--config",
file_obj.args["configfile"],
"--hosts",
HOST,
"--username",
USER,
"--password",
PASS,
"--ca_certs",
CACRT,
"test-connection",
]
runner = clicktest.CliRunner()
result = runner.invoke(run, args)
assert result.exit_code == 0
# Teardown
file_obj.teardown()
|