blob: 3f39f05eeab746832afb0f606cc94f164e35e749 [file] [log] [blame]
############################################################################
# Copyright (C) SchedMD LLC.
############################################################################
import atf
import pytest
# import re
@pytest.fixture(scope="module", autouse=True)
def setup():
atf.require_accounting()
atf.require_slurm_running()
def test_help():
"""Verify -h is a valid option"""
assert atf.run_command_exit("slurmrestd -h") == 0
def test_invalid_option():
"""Verify failure for invalid option"""
assert atf.run_command_exit("slurmrestd --invalid") != 0
def test_a():
"""Check -a option"""
assert atf.run_command_exit("slurmrestd -a list") == 0
assert atf.run_command_exit("slurmrestd -a invalid_plugin") != 0
def test_s():
"""Check -s option"""
assert atf.run_command_exit("slurmrestd -s list") == 0
assert atf.run_command_exit("slurmrestd -s invalid_plugin") != 0
def test_get_a_rest_auth():
"""Check response to GET with -a rest_auth"""
assert (
atf.run_command_exit(
"slurmrestd -a rest_auth/local",
input="GET /openapi HTTP/1.1\r\nConnection: Close\r\n\r\n",
)
== 0
)
assert (
atf.run_command_exit(
"slurmrestd -a rest_auth/invalid",
input="GET /openapi HTTP/1.1\r\nConnection: Close\r\n\r\n",
)
!= 0
)
# Subtests related to bug 10388
def test_invalid_input():
"""Check response to invalid input (bug 10388)"""
assert atf.run_command_exit("slurmrestd", input="INVALID") != 0
assert atf.run_command_exit("slurmrestd", input="INVALID\r\n\r\n") != 0
assert atf.run_command_exit("slurmrestd", input="INVALID\r\nINVALID\r\n\r\n") != 0
assert (
atf.run_command_exit(
"slurmrestd", input="GET /openapi HTTP/1.1\r\nINVALID\r\n\r\n"
)
!= 0
)