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()")
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()")
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)
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)
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, '')
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)
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)
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)
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)
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)
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)
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)
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)
def test_get_job_returns_job_id(self): sd = SubmissionDetails() value = sd._SubmissionDetails__get_job("job1") self.assertEqual(value, [self.j1.pk])
def test_get_job_raises_if_not_entry(self): sd = SubmissionDetails() self.assertRaises(Exception, sd._SubmissionDetails__get_job, "argl")
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"})
def test__build_environment_returns_empty_dict_without_settings(self): sd = SubmissionDetails() dict = sd._SubmissionDetails__build_environment(self.t) self.assertEqual(dict, {})
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)
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)