blob: 75e90362ae9b782740f78b3ada6c0d2b2c677c82 [file] [log] [blame]
############################################################################
# Copyright (C) SchedMD LLC.
############################################################################
import pytest
import atf
@pytest.fixture(scope="module", autouse=True)
def setup():
atf.require_slurm_running()
yield
cleanup()
def cleanup():
result = atf.run_command(
f"scontrol delete reservationname={res_name}", user=atf.properties["slurm-user"]
)
assert result["exit_code"] == 0, "Couldn't delete the reservation!"
def test_reservation_user():
"""Test that a reservation created for SlurmUser can't be used by atf"""
# Create the reservation for user slurm
global res_name
res_name = "resv1"
create_res = (
f"scontrol create reservationname={res_name} "
f"user={atf.properties['slurm-user']} start=now duration=1 nodecnt=1"
)
result = atf.run_command(create_res, user=atf.properties["slurm-user"])
assert result["exit_code"] == 0, "Couldn't create the reservation!"
# Try to run a job as test-user
result = atf.run_command(f"srun -N1 --reservation={res_name} true")
assert result["exit_code"] != 0, "The job should have been denied for user!"
assert (
"Access denied" in result["stderr"]
), "The job should have been denied for user!"