def setUp(self): super(RefrigeratorTests, self).setUp() environment.deinitialize() environment.initialize() self.worker = environment.workers.refrigerator self.worker.initialize() self.task_1 = PostponedTaskPrototype.create( FakePostponedInternalTask( result_state=POSTPONED_TASK_LOGIC_RESULT.WAIT)) self.task_2 = PostponedTaskPrototype.create( FakePostponedInternalTask())
def test_initialization(self): from the_tale.common.postponed_tasks.models import PostponedTask from the_tale.common.postponed_tasks.prototypes import PostponedTaskPrototype, POSTPONED_TASK_STATE from the_tale.common.postponed_tasks.postponed_tasks import FakePostponedInternalTask PostponedTaskPrototype.create(FakePostponedInternalTask()) self.assertEqual( PostponedTask.objects.filter( state=POSTPONED_TASK_STATE.WAITING).count(), 1) self.worker.process_initialize() self.assertEqual( PostponedTask.objects.filter( state=POSTPONED_TASK_STATE.WAITING).count(), 0) self.assertEqual( PostponedTask.objects.filter( state=POSTPONED_TASK_STATE.RESETED).count(), 1) self.assertEqual(self.worker.tasks, {}) self.assertEqual(self.worker.accounts_for_tasks, {}) self.assertEqual(self.worker.accounts_owners, { self.account_1.id: 'game_logic_1', self.account_2.id: 'game_logic_2' }) self.assertEqual(self.worker.accounts_queues, {}) self.assertTrue(self.worker.initialized) self.assertFalse(self.worker.wait_next_turn_answer) self.assertTrue(GameState.is_working())
def test_remove_old_tasks(self): task = PostponedTaskPrototype.create(FakePostponedInternalTask()) task.state = POSTPONED_TASK_STATE.PROCESSED task.save() removed_task = PostponedTaskPrototype.create(FakePostponedInternalTask()) removed_task.state = POSTPONED_TASK_STATE.ERROR removed_task.save() PostponedTaskPrototype.remove_old_tasks() self.assertEqual(PostponedTask.objects.all().count(), 3) with mock.patch('the_tale.common.postponed_tasks.conf.postponed_tasks_settings.TASK_LIVE_TIME', -1): PostponedTaskPrototype.remove_old_tasks() self.assertEqual(PostponedTask.objects.all().count(), 1)
def test_check_tasks(self): self.worker.process_wait_task(self.task_2.id) self.worker.process_wait_task(self.task_1.id) self.worker.process_wait_task( PostponedTaskPrototype.create( FakePostponedInternalTask( result_state=POSTPONED_TASK_LOGIC_RESULT.CONTINUE)).id) self.worker.check_tasks() self.assertEqual(set(self.worker.tasks.keys()), set([self.task_1.id]))
def test_reset_all(self): task = PostponedTaskPrototype.create(FakePostponedInternalTask()) task.state = POSTPONED_TASK_STATE.PROCESSED task.save() self.assertEqual(PostponedTask.objects.all().count(), 2) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.WAITING).count(), 1) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.PROCESSED).count(), 1) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.RESETED).count(), 0) PostponedTaskPrototype.reset_all() self.assertEqual(PostponedTask.objects.all().count(), 2) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.WAITING).count(), 0) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.PROCESSED).count(), 1) self.assertEqual(PostponedTask.objects.filter(state=POSTPONED_TASK_STATE.RESETED).count(), 1)
def setUp(self): super(PrototypeTests, self).setUp() self.task = PostponedTaskPrototype.create(FakePostponedInternalTask())
def setUp(self): super(RequestsTests, self).setUp() self.task = PostponedTaskPrototype.create(FakePostponedInternalTask()) self.client = client.Client()