From 932d515d870bad909e2540557dec0a8f2e937c1e Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Thu, 28 Apr 2016 18:05:14 +0200
Subject: [PATCH] [backend] Test for checking concurrent execution

---
 beat/web/backend/tests.py | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/beat/web/backend/tests.py b/beat/web/backend/tests.py
index 9d2ac5450..74372dca6 100644
--- a/beat/web/backend/tests.py
+++ b/beat/web/backend/tests.py
@@ -1843,6 +1843,30 @@ class Scheduling(BaseBackendTestCase):
         self.assertEqual(worker.available_cores(), qsetup.CORES)
 
 
+    def test_schedules_two_jobs(self):
+
+        # tests a simple scheduling activity in which two jobs of the same
+        # experiment must be scheduled concurrently, provided there is enough
+        # space
+
+        current_stats = HourlyStatistics.objects.count()
+
+        fullname = 'user/user/triangle/1/triangle'
+        xp = Experiment.objects.get(name=fullname.split(os.sep)[-1])
+
+        worker = Worker.objects.get()
+
+        # schedules the experiment and check it
+        xp.schedule()
+        xp.refresh_from_db()
+        self.assertEqual(xp.status, Experiment.SCHEDULED)
+
+        assigned_splits = schedule()
+
+        self.assertEqual(len(assigned_splits), 2)
+        self.assertEqual(assigned_splits[0].job.block.experiment, xp)
+        self.assertEqual(assigned_splits[1].job.block.experiment, xp)
+        self.assertNotEqual(assigned_splits[0], assigned_splits[1])
 
 
 class SchedulingPriority(BaseBackendTestCase):
-- 
GitLab