40 lines
1.1 KiB
Python
40 lines
1.1 KiB
Python
"""Test for the ping command."""
|
|
import allure
|
|
import pytest
|
|
|
|
from .types import ClientRegistry, CommandRunner
|
|
|
|
|
|
@allure.title("Test running the ping command")
|
|
@pytest.mark.asyncio
|
|
async def test_ping_command(
|
|
ssh_command_runner: CommandRunner, client_registry: ClientRegistry
|
|
) -> None:
|
|
# Register a test client with default policies and no secrets
|
|
await client_registry["add_client"]("test-pinger")
|
|
|
|
result = await ssh_command_runner("test-pinger", "ping")
|
|
|
|
assert result.exit_status == 0
|
|
assert result.stdout is not None
|
|
assert isinstance(result.stdout, str)
|
|
assert result.stdout.rstrip() == "PONG"
|
|
|
|
@allure.title("Test ping help")
|
|
@pytest.mark.asyncio
|
|
async def test_ping_cmd_help(ssh_command_runner: CommandRunner, client_registry: ClientRegistry) -> None:
|
|
"""Test running ping --help."""
|
|
await client_registry["add_client"]("test-client", ["mysecret"])
|
|
result = await ssh_command_runner("test-client", "ping --help")
|
|
|
|
assert result.exit_status == 0
|
|
|
|
print(result.stdout)
|
|
assert isinstance(result.stdout, str)
|
|
|
|
lines = result.stdout.splitlines()
|
|
|
|
assert lines[0] == "ping"
|
|
|
|
assert len(lines) > 4
|