def test__option_uses_default_if_not_passed(self):
        p1 = ParameterFactory.create(task=self.t,
                                     flag="-th",
                                     bool_valued=False,
                                     rest_alias="that",
                                     default=123,
                                     spacing=True)

        request_contents = {
            'task1_chain': 'AS',
        }
        steps = self.j1.steps.all().select_related('task') \
                       .extra(order_by=['ordering'])
        sd = SubmissionDetails()
        local_id = str(uuid.uuid1())
        chain_str = sd._SubmissionDetails__construct_chain_string(
            steps, request_contents, local_id, 1)
        # print(chain_str)
        self.assertEqual(
            chain_str, "chain(task_runner.subtask(('" + local_id +
            "', 0, 1, 1, 1, 'task1', ['-th'], "
            "{'-th': {'spacing': True, "
            "'switchless': False, 'value': '123'}}, "
            "'', 1, {}), immutable=True, "
            "queue='localhost'),).apply_async()")
    def test__construct_chain_string_with_ending_group(self):
        self.t2 = TaskFactory.create(backend=self.b,
                                     name="task2",
                                     executable="rm")
        s = StepFactory(job=self.j1, task=self.t2, ordering=1)
        self.t3 = TaskFactory.create(backend=self.b,
                                     name="task3",
                                     executable="diff")
        s = StepFactory(job=self.j1, task=self.t3, ordering=1)

        steps = self.j1.steps.all().select_related('task') \
                       .extra(order_by=['ordering'])
        sd = SubmissionDetails()
        local_id = str(uuid.uuid1())
        request_contents = {}
        chain_str = sd._SubmissionDetails__construct_chain_string(
            steps, request_contents, local_id, 1)
        # print(chain_str)
        self.assertEqual(
            chain_str, "chain(task_runner.subtask(('" + local_id +
            "', 0, 1, 1, 4, 'task1', [], {}, '', 1, {}), "
            "immutable=True, queue='localhost'), "
            "group(task_runner.subtask(('" + local_id +
            "', 1, 2, 2, 4, 'task2', [], {}, '', 1, {}), "
            "immutable=True, queue='localhost'), "
            "task_runner.subtask(('" + local_id +
            "', 1, 2, 3, 4, 'task3', [], {}, '', 1, {}), "
            "immutable=True, queue='localhost')), "
            "chord_end.subtask(('" + local_id + "', 2, 4), immutable=True, "
            "queue='localhost'),).apply_async()")
Example #3
0
 def test_get_job_priority_returns_logged_priority(self):
     self.client.login(username='******', password='******')
     sd = SubmissionDetails()
     priority, value = sd._SubmissionDetails__get_job_priority(
         True, "127.0.0.1")
     self.assertEquals(priority, settings.LOGGED_IN_JOB_PRIORITY)
     self.assertEquals(value, 0)
    def test__construct_chain_string(self):
        p1 = ParameterFactory.create(task=self.t,
                                     flag="-t",
                                     bool_valued=True,
                                     rest_alias="this")
        p1 = ParameterFactory.create(task=self.t,
                                     flag="-th",
                                     bool_valued=False,
                                     rest_alias="that",
                                     default=123,
                                     spacing=True)
        p1 = ParameterFactory.create(task=self.t,
                                     flag="VALUE",
                                     bool_valued=False,
                                     rest_alias="other",
                                     default="huh")

        request_contents = {
            'task1_this': 'True',
            'task1_that': 123,
            'task1_other': 'things'
        }
        steps = self.j1.steps.all().select_related('task') \
                       .extra(order_by=['ordering'])
        sd = SubmissionDetails()
        local_id = str(uuid.uuid1())
        chain_str = sd._SubmissionDetails__construct_chain_string(
            steps, request_contents, local_id, 1)
        self.assertEqual(
            chain_str, "chain(task_runner.subtask(('" + local_id +
            "', 0, 1, 1, 1, 'task1', ['-t', '-th'], "
            "{'-th': {'spacing': True, "
            "'switchless': False, 'value': 123}}, "
            "'things', 1, {}), immutable=True, "
            "queue='localhost'),).apply_async()")
Example #5
0
 def test_get_job_priority_returns_low_priority(self):
     for i in range(0, settings.QUEUE_HOG_SIZE):
         s = SubmissionFactory.create(ip="127.0.0.1")
     sd = SubmissionDetails()
     priority, value = sd._SubmissionDetails__get_job_priority(
         False, "127.0.0.1")
     self.assertEquals(priority, Submission.LOW)
     self.assertEquals(value, 10)
Example #6
0
 def test_get_job_priority_returns_none_priority(self):
     for i in range(0, settings.QUEUE_HARD_LIMIT):
         s = SubmissionFactory.create(ip="127.0.0.1")
     sd = SubmissionDetails()
     priority, value = sd._SubmissionDetails__get_job_priority(
         False, "127.0.0.1")
     self.assertEquals(priority, None)
     self.assertEquals(value, 15)
Example #7
0
 def test__return_value_empty_string_with_no_value_set(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="thingy",
                                  bool_valued=False,
                                  rest_alias="this")
     sd = SubmissionDetails()
     value = sd._SubmissionDetails__return_value(self.t,
                                                 {'task1_this': 456})
     self.assertEqual(value, '')
Example #8
0
 def test__return_value_returns_value_flag(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="VALUE",
                                  bool_valued=False,
                                  rest_alias="this")
     sd = SubmissionDetails()
     value = sd._SubmissionDetails__return_value(self.t,
                                                 {'task1_this': 456})
     self.assertEqual(value, 456)
Example #9
0
 def test_get_job_priority_returns_logged_lower_priority(self):
     for i in range(0, settings.QUEUE_HOG_SIZE):
         s = SubmissionFactory.create(ip="127.0.0.1")
     self.client.login(username='******', password='******')
     sd = SubmissionDetails()
     priority, value = sd._SubmissionDetails__get_job_priority(
         True, "127.0.0.1")
     self.assertEquals(priority, settings.LOGGED_IN_JOB_PRIORITY - 1)
     self.assertEquals(value, 10)
Example #10
0
 def test_get_job_priority_returns_def_priority_with_unset_hog_size(self):
     for i in range(0, settings.QUEUE_HOG_SIZE):
         s = SubmissionFactory.create(ip="127.0.0.1")
     with self.settings(QUEUE_HOG_SIZE=None):
         sd = SubmissionDetails()
         priority, value = sd._SubmissionDetails__get_job_priority(
             False, "127.0.0.1")
         self.assertEquals(priority, settings.DEFAULT_JOB_PRIORITY)
         self.assertEquals(value, 10)
Example #11
0
 def test_get_job_priority_returns_low_priority_with_unset_hard_limit(self):
     for i in range(0, settings.QUEUE_HARD_LIMIT):
         s = SubmissionFactory.create(ip="127.0.0.1")
     with self.settings(QUEUE_HARD_LIMIT=None):
         sd = SubmissionDetails()
         priority, value = sd._SubmissionDetails__get_job_priority(
             False, "127.0.0.1")
         self.assertEquals(priority, settings.DEFAULT_JOB_PRIORITY - 1)
         self.assertEquals(value, 15)
Example #12
0
 def test_params_reject_with_unix_commands(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="-t",
                                  bool_valued=False,
                                  rest_alias="this")
     steps = self.j1.steps.all()
     sd = SubmissionDetails()
     bool = sd._SubmissionDetails__test_params(steps, {'task1_this': 'rm'})
     self.assertEqual(bool, False)
Example #13
0
 def test_params_rejected_with_r_reserved_words(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="-t",
                                  bool_valued=False,
                                  rest_alias="this")
     steps = self.j1.steps.all()
     sd = SubmissionDetails()
     bool = sd._SubmissionDetails__test_params(
         steps, {'task1_this': 'format.packageInfo'})
     self.assertEqual(bool, False)
Example #14
0
 def test__test_params_returns_true_when_too_many_items_passed(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="-t",
                                  bool_valued=False,
                                  rest_alias="this")
     steps = self.j1.steps.all()
     sd = SubmissionDetails()
     bool = sd._SubmissionDetails__test_params(steps, {
         'task1_that': 123,
         'task1_this': 69
     })
     self.assertEqual(bool, True)
Example #15
0
 def test__test_params_returns_false_when_set_is_not_complete(self):
     p1 = ParameterFactory.create(task=self.t,
                                  flag="-t",
                                  bool_valued=False,
                                  rest_alias="this")
     p1 = ParameterFactory.create(task=self.t,
                                  flag="-th",
                                  bool_valued=False,
                                  rest_alias="that")
     steps = self.j1.steps.all()
     sd = SubmissionDetails()
     bool = sd._SubmissionDetails__test_params(steps, {
         'task1_that': 123,
     })
     self.assertEqual(bool, False)
Example #16
0
 def test_get_job_returns_job_id(self):
     sd = SubmissionDetails()
     value = sd._SubmissionDetails__get_job("job1")
     self.assertEqual(value, [self.j1.pk])
Example #17
0
 def test_get_job_raises_if_not_entry(self):
     sd = SubmissionDetails()
     self.assertRaises(Exception, sd._SubmissionDetails__get_job, "argl")
Example #18
0
 def test__build_environment_returns_valid_dict(self):
     p1 = EnvironmentFactory.create(task=self.t, env="Test", value="McPath")
     sd = SubmissionDetails()
     dict = sd._SubmissionDetails__build_environment(self.t)
     self.assertEqual(dict, {"Test": "McPath"})
Example #19
0
 def test__build_environment_returns_empty_dict_without_settings(self):
     sd = SubmissionDetails()
     dict = sd._SubmissionDetails__build_environment(self.t)
     self.assertEqual(dict, {})
Example #20
0
 def test_get_job_priority_returns_default_priority(self):
     sd = SubmissionDetails()
     priority, value = sd._SubmissionDetails__get_job_priority(
         False, "127.0.0.1")
     self.assertEquals(priority, settings.DEFAULT_JOB_PRIORITY)
     self.assertEquals(value, 0)
Example #21
0
 def test__test_params_returns_true_with_nothing(self):
     steps = self.j1.steps.all()
     sd = SubmissionDetails()
     bool = sd._SubmissionDetails__test_params(steps, {})
     self.assertEqual(bool, True)