|
1 | 1 | import os
|
2 | 2 | import sys
|
| 3 | +import pytest |
3 | 4 | import show.main as show
|
4 | 5 | from click.testing import CliRunner
|
5 | 6 | from unittest import mock
|
6 |
| -from unittest.mock import call, MagicMock |
| 7 | +from unittest.mock import call, MagicMock, patch |
| 8 | + |
| 9 | +EXPECTED_BASE_COMMAND = 'sudo ' |
7 | 10 |
|
8 | 11 | test_path = os.path.dirname(os.path.abspath(__file__))
|
9 | 12 | modules_path = os.path.dirname(test_path)
|
@@ -49,3 +52,67 @@ def teardown_class(cls):
|
49 | 52 | print("TEARDOWN")
|
50 | 53 | os.environ["PATH"] = os.pathsep.join(os.environ["PATH"].split(os.pathsep)[:-1])
|
51 | 54 | os.environ["UTILITIES_UNIT_TESTING"] = "0"
|
| 55 | + |
| 56 | +@patch('show.main.run_command') |
| 57 | +@pytest.mark.parametrize( |
| 58 | + "cli_arguments,expected", |
| 59 | + [ |
| 60 | + ([], 'cat /var/log/syslog'), |
| 61 | + (['xcvrd'], "cat /var/log/syslog | grep 'xcvrd'"), |
| 62 | + (['-l', '10'], 'cat /var/log/syslog | tail -10'), |
| 63 | + (['-f'], 'tail -F /var/log/syslog'), |
| 64 | + ] |
| 65 | +) |
| 66 | +def test_show_logging_default(run_command, cli_arguments, expected): |
| 67 | + runner = CliRunner() |
| 68 | + result = runner.invoke(show.cli.commands["logging"], cli_arguments) |
| 69 | + run_command.assert_called_with(EXPECTED_BASE_COMMAND + expected, display_cmd=False) |
| 70 | + |
| 71 | +@patch('show.main.run_command') |
| 72 | +@patch('os.path.isfile', MagicMock(return_value=True)) |
| 73 | +@pytest.mark.parametrize( |
| 74 | + "cli_arguments,expected", |
| 75 | + [ |
| 76 | + ([], 'cat /var/log/syslog.1 /var/log/syslog'), |
| 77 | + (['xcvrd'], "cat /var/log/syslog.1 /var/log/syslog | grep 'xcvrd'"), |
| 78 | + (['-l', '10'], 'cat /var/log/syslog.1 /var/log/syslog | tail -10'), |
| 79 | + (['-f'], 'tail -F /var/log/syslog'), |
| 80 | + ] |
| 81 | +) |
| 82 | +def test_show_logging_syslog_1(run_command, cli_arguments, expected): |
| 83 | + runner = CliRunner() |
| 84 | + result = runner.invoke(show.cli.commands["logging"], cli_arguments) |
| 85 | + run_command.assert_called_with(EXPECTED_BASE_COMMAND + expected, display_cmd=False) |
| 86 | + |
| 87 | +@patch('show.main.run_command') |
| 88 | +@patch('os.path.exists', MagicMock(return_value=True)) |
| 89 | +@pytest.mark.parametrize( |
| 90 | + "cli_arguments,expected", |
| 91 | + [ |
| 92 | + ([], 'cat /var/log.tmpfs/syslog'), |
| 93 | + (['xcvrd'], "cat /var/log.tmpfs/syslog | grep 'xcvrd'"), |
| 94 | + (['-l', '10'], 'cat /var/log.tmpfs/syslog | tail -10'), |
| 95 | + (['-f'], 'tail -F /var/log.tmpfs/syslog'), |
| 96 | + ] |
| 97 | +) |
| 98 | +def test_show_logging_tmpfs(run_command, cli_arguments, expected): |
| 99 | + runner = CliRunner() |
| 100 | + result = runner.invoke(show.cli.commands["logging"], cli_arguments) |
| 101 | + run_command.assert_called_with(EXPECTED_BASE_COMMAND + expected, display_cmd=False) |
| 102 | + |
| 103 | +@patch('show.main.run_command') |
| 104 | +@patch('os.path.isfile', MagicMock(return_value=True)) |
| 105 | +@patch('os.path.exists', MagicMock(return_value=True)) |
| 106 | +@pytest.mark.parametrize( |
| 107 | + "cli_arguments,expected", |
| 108 | + [ |
| 109 | + ([], 'cat /var/log.tmpfs/syslog.1 /var/log.tmpfs/syslog'), |
| 110 | + (['xcvrd'], "cat /var/log.tmpfs/syslog.1 /var/log.tmpfs/syslog | grep 'xcvrd'"), |
| 111 | + (['-l', '10'], 'cat /var/log.tmpfs/syslog.1 /var/log.tmpfs/syslog | tail -10'), |
| 112 | + (['-f'], 'tail -F /var/log.tmpfs/syslog'), |
| 113 | + ] |
| 114 | +) |
| 115 | +def test_show_logging_tmpfs_syslog_1(run_command, cli_arguments, expected): |
| 116 | + runner = CliRunner() |
| 117 | + result = runner.invoke(show.cli.commands["logging"], cli_arguments) |
| 118 | + run_command.assert_called_with(EXPECTED_BASE_COMMAND + expected, display_cmd=False) |
0 commit comments