diff --git a/src/imgtests/web/static/js/launch_test.js b/src/imgtests/web/static/js/launch_test.js index 1d1ddfc9..06c83af4 100644 --- a/src/imgtests/web/static/js/launch_test.js +++ b/src/imgtests/web/static/js/launch_test.js @@ -85,12 +85,25 @@ document.getElementById("runTestsBtn").addEventListener("click", function () { "Content-Type": "application/json", }, body: JSON.stringify({ + distro_id: window.distroId, test_runs_count: testRunsCount, testing_mode: testing_mode, config: config, }), }) - .then((response) => response.json()) + .then((response) => { + if (response.status === 409 || response.status === 503) { + return response.json().then((data) => { + throw new Error(data.error); + }); + } + if (!response.ok) { + return response.json().then((data) => { + throw new Error(data.error || "Failed to start tests"); + }); + } + return response.json(); + }) .then((data) => { if (data.success && data.task_id) { outputContainer.textContent = @@ -104,7 +117,7 @@ document.getElementById("runTestsBtn").addEventListener("click", function () { } }) .catch((error) => { - outputContainer.textContent = "Error: " + error; + outputContainer.textContent = "Error: " + error.message; btn.disabled = false; btn.textContent = "Run tests"; }); diff --git a/src/imgtests/web/tests_interface/models.py b/src/imgtests/web/tests_interface/models.py index 3b98e96c..57422144 100644 --- a/src/imgtests/web/tests_interface/models.py +++ b/src/imgtests/web/tests_interface/models.py @@ -7,6 +7,7 @@ class Distribution(models.Model): description = models.TextField(blank=True) order = models.PositiveSmallIntegerField(default=0) is_active = models.BooleanField(default=True) + current_task_id = models.UUIDField(null=True, db_index=True) class Meta: """Metadata options for Distribution model.""" diff --git a/src/imgtests/web/tests_interface/templates/tests_interface/distro_page.html b/src/imgtests/web/tests_interface/templates/tests_interface/distro_page.html index aab7b927..1fc138bd 100644 --- a/src/imgtests/web/tests_interface/templates/tests_interface/distro_page.html +++ b/src/imgtests/web/tests_interface/templates/tests_interface/distro_page.html @@ -153,6 +153,7 @@

Subsystems

{% load static %}