From 2415cf7023aab54b625bdac5740db53559f0e88f Mon Sep 17 00:00:00 2001
From: Jan David Mol <mol@astron.nl>
Date: Thu, 21 Jan 2016 21:16:10 +0000
Subject: [PATCH] Task #8888: Verify nr of requested parsets

---
 .../Services/test/tJobsToSchedule.py                  | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/SAS/ResourceAssignment/Services/test/tJobsToSchedule.py b/SAS/ResourceAssignment/Services/test/tJobsToSchedule.py
index 6331ea9bde0..d3d299ba420 100644
--- a/SAS/ResourceAssignment/Services/test/tJobsToSchedule.py
+++ b/SAS/ResourceAssignment/Services/test/tJobsToSchedule.py
@@ -76,6 +76,9 @@ class TestService(unittest.TestCase):
     self.parset_service = "%s/TaskSpecification" % (self.busname,)
     self.jts_service    = "%s/TaskSpecified" % (self.busname,)
 
+    # Nr of parsets requested, to detect multiple requests for the same parset, or of superfluous parsets
+    self.requested_parsets = 0
+
     # setup mock parset service
     def TaskSpecificationService( input_dict ):
       obsid = input_dict["OtdbID"]
@@ -89,6 +92,8 @@ class TestService(unittest.TestCase):
       else:
         raise Exception("Invalid obsID")
 
+      self.requested_parsets += 1
+
       return {
         "Version.number":                                     "1",
         PARSET_PREFIX + "Observation.ObsID":                  str(obsid),
@@ -137,6 +142,9 @@ class TestService(unittest.TestCase):
         self.assertNotIn("2", result.content["resource_indicators"])
         self.assertIn("3", result.content["resource_indicators"])
 
+        # Make sure we only requested one parset
+        self.assertEqual(self.requested_parsets, 1)
+
   def testPredecessors(self):
     """
       Request the resources for a simulated obsid 1, with the following predecessor tree:
@@ -172,6 +180,9 @@ class TestService(unittest.TestCase):
         self.assertIn("2", result.content["resource_indicators"])
         self.assertIn("3", result.content["resource_indicators"])
 
+        # Make sure we only requested exactly three parsets
+        self.assertEqual(self.requested_parsets, 3)
+
 def main(argv):
   unittest.main(verbosity=2)
 
-- 
GitLab