def test_identify_duplicate_tasks_no_dups(self): all_tasks = ["microservice.tasks.joey", "external.chandler"] results = identify_duplicate_tasks(all_tasks, []) self.assertTrue(len(results) == 0) # We make sure a sub string is not caught all_tasks = ["microservice.tasks.joey", "microservice.tasks.joey_different"] results = identify_duplicate_tasks(all_tasks, []) self.assertTrue(len(results) == 0) # Now we reverse the order to make sure the result is the same all_tasks = ["microservice.tasks.joey", "microservice.tasks.joey_different"] results = identify_duplicate_tasks(all_tasks, []) self.assertTrue(len(results) == 0)
def test_identify_duplicate_tasks(self): all_tasks = ["microservice.tasks.joey", "external.joey"] results = identify_duplicate_tasks(all_tasks, ["external"]) self.assertTrue(len(results) == 1) this, that = tuple(results[0]) self.assertEqual(this, "microservice.tasks.joey") self.assertEqual(that, "external.joey")
def test_identify_duplicate_tasks_prioritize(self): all_tasks = ["microservice.tasks.joey", "external.joey"] results = identify_duplicate_tasks(all_tasks, ["external"]) self.assertTrue(len(results) == 1) this, that = tuple(results[0]) self.assertEqual(this, "microservice.tasks.joey") self.assertEqual(that, "external.joey") # Switch the priority, different result all_tasks = ["microservice.tasks.joey", "external.joey"] results = identify_duplicate_tasks(all_tasks, ["microservice.tasks"]) self.assertTrue(len(results) == 1) this, that = tuple(results[0]) self.assertEqual(this, "external.joey") self.assertEqual(that, "microservice.tasks.joey") # Now we reverse the order to make sure the result is the same all_tasks = ["external.joey", "microservice.tasks.joey"] results = identify_duplicate_tasks(all_tasks, ["microservice.tasks"]) self.assertTrue(len(results) == 1) this, that = tuple(results[0]) self.assertEqual(this, "external.joey") self.assertEqual(that, "microservice.tasks.joey") # Multiple priority modules. Last is highest priority all_tasks = ['celery_queues_tests.success_test_worker', 'RunOnMcAndWorkerTestConfig_mock.success_test_worker'] results = identify_duplicate_tasks(all_tasks, ['celery_queues_tests', 'RunOnMcAndWorkerTestConfig_mock']) this, that = tuple(results[0]) self.assertEqual(this, "celery_queues_tests.success_test_worker") self.assertEqual(that, "RunOnMcAndWorkerTestConfig_mock.success_test_worker") # Multiple priority modules. Last is highest priority, even if the order of the tasks is reversed all_tasks.reverse() results = identify_duplicate_tasks(all_tasks, ['celery_queues_tests', 'RunOnMcAndWorkerTestConfig_mock']) this, that = tuple(results[0]) self.assertEqual(this, "celery_queues_tests.success_test_worker") self.assertEqual(that, "RunOnMcAndWorkerTestConfig_mock.success_test_worker")
def test_identify_dup_of_dup(self): all_tasks = ["original.joey", "first.external.joey", "second.external.joey"] for x in range(0, 2): with self.subTest(str(x)): results = identify_duplicate_tasks(all_tasks, ['first.external', 'second.external']) self.assertEqual(len(results), 1) self.assertEqual(len(results[0]), 3) self.assertTrue("original" in results[0][0]) self.assertTrue("first" in results[0][1]) self.assertTrue("second" in results[0][2]) all_tasks.reverse()