titan-iac/scripts/tests/test_jenkins_job_triggers.py

42 lines
1.1 KiB
Python
Raw Normal View History

import pathlib
def jcasc_job_block(job: str) -> str:
casc = pathlib.Path("services/jenkins/configmap-jcasc.yaml").read_text()
return casc.split(f"pipelineJob('{job}')", 1)[1].split("pipelineJob(", 1)[0]
def test_in_scope_jenkins_jobs_have_twice_daily_refresh_trigger():
in_scope_jobs = [
"ananke",
"ariadne",
"atlasbot",
"bstein-dev-home",
"data-prepper",
"metis",
"pegasus",
"soteria",
"titan-iac",
]
for job in in_scope_jobs:
block = jcasc_job_block(job)
assert "cron" in block
assert "spec('H H/12 * * *')" in block
def test_lesavka_jenkins_job_has_daily_refresh_trigger():
lesavka_block = jcasc_job_block("lesavka")
assert "scmpoll_spec('H/5 * * * *')" in lesavka_block
assert "cron" in lesavka_block
assert "spec('H H * * *')" in lesavka_block
def test_typhon_jenkins_job_has_daily_refresh_trigger():
typhon_block = jcasc_job_block("typhon")
assert "scmpoll_spec('H/5 * * * *')" in typhon_block
assert "cron" in typhon_block
assert "spec('H H * * *')" in typhon_block