|
1 | 1 | from datetime import datetime
|
2 | 2 | from datetime import timedelta
|
| 3 | +from shlex import split as split_command |
3 | 4 |
|
4 | 5 | import pytest
|
| 6 | +from tests.integration.conftest import append_profile |
| 7 | +from tests.integration.util import assert_test_is_successful |
| 8 | +from tests.integration.util import DataServer |
5 | 9 |
|
6 |
| -SEARCH_COMMAND = "code42 audit-logs search" |
7 |
| -BASE_COMMAND = "{} -b".format(SEARCH_COMMAND) |
8 |
| -begin_date = datetime.utcnow() - timedelta(days=-10) |
| 10 | +from code42cli.main import cli |
| 11 | + |
| 12 | + |
| 13 | +begin_date = datetime.utcnow() - timedelta(days=2) |
9 | 14 | begin_date_str = begin_date.strftime("%Y-%m-%d %H:%M:%S")
|
10 |
| -end_date = datetime.utcnow() - timedelta(days=10) |
| 15 | +end_date = datetime.utcnow() - timedelta(days=0) |
11 | 16 | end_date_str = end_date.strftime("%Y-%m-%d %H:%M:%S")
|
12 | 17 |
|
13 | 18 |
|
14 | 19 | @pytest.mark.integration
|
15 | 20 | @pytest.mark.parametrize(
|
16 |
| - "command", |
17 |
| - [ |
18 |
| - ("{} '{}'".format(BASE_COMMAND, begin_date_str)), |
19 |
| - ("{} '{}' -e '{}'".format(BASE_COMMAND, begin_date_str, end_date_str)), |
20 |
| - ("{} '{}' --end '{}'".format(BASE_COMMAND, begin_date_str, end_date_str)), |
21 |
| - ("{} '{}' --event-type '{}'".format(BASE_COMMAND, begin_date_str, "test")), |
22 |
| - ("{} '{}' --username '{}'".format(BASE_COMMAND, begin_date_str, "test")), |
23 |
| - ("{} '{}' --user-id '{}'".format(BASE_COMMAND, begin_date_str, "123")), |
24 |
| - ("{} '{}' --user-ip '{}'".format(BASE_COMMAND, begin_date_str, "0.0.0.0")), |
25 |
| - ("{} '{}' --affected-user-id '{}'".format(BASE_COMMAND, begin_date_str, "123")), |
26 |
| - ( |
27 |
| - "{} '{}' --affected-username '{}'".format( |
28 |
| - BASE_COMMAND, begin_date_str, "test" |
29 |
| - ) |
30 |
| - ), |
31 |
| - ("{} '{}' -f {}".format(BASE_COMMAND, begin_date_str, "CSV")), |
32 |
| - ("{} '{}' -f '{}'".format(BASE_COMMAND, begin_date_str, "TABLE")), |
33 |
| - ("{} '{}' -f '{}'".format(BASE_COMMAND, begin_date_str, "JSON")), |
34 |
| - ("{} '{}' -f '{}'".format(BASE_COMMAND, begin_date_str, "RAW-JSON")), |
35 |
| - ("{} '{}' --format {}".format(BASE_COMMAND, begin_date_str, "CSV")), |
36 |
| - ("{} '{}' --format '{}'".format(BASE_COMMAND, begin_date_str, "TABLE")), |
37 |
| - ("{} '{}' --format '{}'".format(BASE_COMMAND, begin_date_str, "JSON")), |
38 |
| - ("{} '{}' --format '{}'".format(BASE_COMMAND, begin_date_str, "RAW-JSON")), |
39 |
| - ("{} --begin '{}'".format(SEARCH_COMMAND, begin_date_str)), |
40 |
| - ("{} '{}' -d".format(BASE_COMMAND, begin_date_str)), |
41 |
| - ("{} '{}' --debug".format(BASE_COMMAND, begin_date_str)), |
42 |
| - ], |
| 21 | + "protocol", ["TCP", "UDP"], |
43 | 22 | )
|
44 |
| -def test_auditlogs_search_command_returns_success_return_code(command, command_runner): |
45 |
| - return_code, response = command_runner(command) |
46 |
| - assert return_code == 0 |
| 23 | +def test_auditlogs_send_to_command_returns_success_return_code( |
| 24 | + runner, integration_test_profile, protocol |
| 25 | +): |
| 26 | + command = "audit-logs send-to localhost:5140 -p {} -b '{}'".format( |
| 27 | + protocol, begin_date_str |
| 28 | + ) |
| 29 | + with DataServer(protocol=protocol): |
| 30 | + result = runner.invoke(cli, split_command(append_profile(command))) |
| 31 | + assert result.exit_code == 0 |
| 32 | + |
| 33 | + |
| 34 | +@pytest.mark.integration |
| 35 | +def test_auditlogs_search_command_with_short_hand_begin_returns_success_return_code( |
| 36 | + runner, integration_test_profile |
| 37 | +): |
| 38 | + command = "audit-logs search -b '{}'".format(begin_date_str) |
| 39 | + assert_test_is_successful(runner, append_profile(command)) |
| 40 | + |
| 41 | + |
| 42 | +def test_auditlogs_search_command_with_full_begin_returns_success_return_code( |
| 43 | + runner, integration_test_profile, |
| 44 | +): |
| 45 | + command = "audit-logs search --begin '{}'".format(begin_date_str) |
| 46 | + assert_test_is_successful(runner, append_profile(command)) |
0 commit comments