• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Clinical-Genomics / trailblazer / 10403778022

15 Aug 2024 12:29PM UTC coverage: 86.292%. First build
10403778022

Pull #463

github

seallard
Add integration test
Pull Request #463: Clean up tower and slurm interactions

156 of 221 new or added lines in 20 files covered. (70.59%)

2027 of 2349 relevant lines covered (86.29%)

0.86 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

62.5
/trailblazer/services/slurm/slurm_cli_service/slurm_cli_service.py
1
from trailblazer.apps.slurm.models import SqueueJob, SqueueResult
1✔
2
from trailblazer.clients.slurm_cli_client.slurm_cli_client import SlurmCLIClient
1✔
3
from trailblazer.clients.slurm_cli_client.utils import create_job_info_dto
1✔
4
from trailblazer.services.slurm.dtos import SlurmJobInfo
1✔
5
from trailblazer.services.slurm.slurm_service import SlurmService
1✔
6
from trailblazer.services.slurm.utils import get_slurm_job_ids
1✔
7
from trailblazer.store.models import Analysis
1✔
8
from trailblazer.store.store import Store
1✔
9

10

11
class SlurmCLIService(SlurmService):
1✔
12
    def __init__(self, client: SlurmCLIClient, store: Store):
1✔
13
        self.client = client
1✔
14
        self.store = store
1✔
15

16
    def get_job(self, job_id: int) -> SlurmJobInfo:
1✔
17
        queue: SqueueResult = self.client.get_slurm_queue([job_id])
×
18
        job: SqueueJob = queue.jobs[0]
×
19
        return create_job_info_dto(job)
×
20

21
    def update_jobs(self, job_ids: list[int]) -> list[SlurmJobInfo]:
1✔
22
        queue: SqueueResult = self.client.get_slurm_queue(job_ids)
×
23
        return [create_job_info_dto(job) for job in queue.jobs]
×
24

25
    def cancel_jobs(self, analysis_id: int) -> None:
1✔
NEW
26
        analysis: Analysis = self.store.get_analysis_with_id(analysis_id)
×
NEW
27
        job_ids: list[int] = get_slurm_job_ids(analysis.config_path)
×
NEW
28
        for job_id in job_ids:
×
NEW
29
            self.client.cancel_job(job_id)
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc