Exemple #1
0
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        result, account_1_id, bundle_id = register_user(
            'test_user', '*****@*****.**', '111111')
        result, account_2_id, bundle_id = register_user(
            'test_user_2', '*****@*****.**', '111111')

        self.account_1 = AccountPrototype.get_by_id(account_1_id)
        self.account_2 = AccountPrototype.get_by_id(account_2_id)

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id,
                                       text=u'some pvp message')
Exemple #2
0
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        self.account_1 = self.accounts_factory.create_account()
        self.account_2 = self.accounts_factory.create_account()

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id,
                                       text='some pvp message')
Exemple #3
0
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        self.account_1 = self.accounts_factory.create_account()
        self.account_2 = self.accounts_factory.create_account()

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id, text='some pvp message')
Exemple #4
0
    def say(self):

        battle = Battle1x1Prototype.get_by_account_id(self.account.id)

        if battle is None or not battle.state.is_PROCESSING:
            return self.json_error('pvp.say.no_battle',
                                   u'Бой не идёт, вы не можете говорить')

        say_form = SayForm(self.request.POST)

        if not say_form.is_valid():
            return self.json_error('pvp.say.form_errors', say_form.errors)

        say_task = SayInBattleLogTask(battle_id=battle.id,
                                      text=say_form.c.text)

        task = PostponedTaskPrototype.create(say_task)

        environment.workers.supervisor.cmd_logic_task(self.account.id, task.id)

        return self.json_processing(task.status_url)
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        result, account_1_id, bundle_id = register_user('test_user', '*****@*****.**', '111111')
        result, account_2_id, bundle_id = register_user('test_user_2', '*****@*****.**', '111111')

        self.account_1 = AccountPrototype.get_by_id(account_1_id)
        self.account_2 = AccountPrototype.get_by_id(account_2_id)

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id, text=u'some pvp message')
Exemple #6
0
 def test_serialize(self):
     self.assertEqual(
         self.task.serialize(),
         SayInBattleLogTask.deserialize(self.task.serialize()).serialize())
Exemple #7
0
class SayInBattleLogTests(testcase.TestCase):
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        result, account_1_id, bundle_id = register_user(
            'test_user', '*****@*****.**', '111111')
        result, account_2_id, bundle_id = register_user(
            'test_user_2', '*****@*****.**', '111111')

        self.account_1 = AccountPrototype.get_by_id(account_1_id)
        self.account_2 = AccountPrototype.get_by_id(account_2_id)

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id,
                                       text=u'some pvp message')

    def test_create(self):
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.UNPROCESSED)
        self.assertEqual(self.task.battle_id, self.battle.id)

    def test_serialize(self):
        self.assertEqual(
            self.task.serialize(),
            SayInBattleLogTask.deserialize(self.task.serialize()).serialize())

    def test_process_account_hero_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.ACCOUNT_HERO_NOT_FOUND)

    def test_process_battle_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.battle.remove()
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.BATTLE_NOT_FOUND)

    def test_process_success(self):
        old_hero_1_last_message = self.hero_1.journal.messages[-1]
        old_hero_2_last_message = self.hero_2.journal.messages[-1]

        self.assertEqual(
            self.task.process(FakePostpondTaskPrototype(), self.storage),
            POSTPONED_TASK_LOGIC_RESULT.SUCCESS)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertNotEqual(old_hero_1_last_message,
                            self.hero_1.journal.messages[-1])
        self.assertNotEqual(old_hero_2_last_message,
                            self.hero_2.journal.messages[-1])

    def test_process_success_without_second_hero(self):
        old_hero_1_last_message = self.hero_1.journal.messages[-1]
        old_hero_2_last_message = self.hero_2.journal.messages[-1]

        self.storage.release_account_data(self.account_2.id)
        self.assertEqual(
            self.task.process(FakePostpondTaskPrototype(), self.storage),
            POSTPONED_TASK_LOGIC_RESULT.SUCCESS)

        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)
        self.assertNotEqual(old_hero_1_last_message,
                            self.hero_1.journal.messages[-1])
        self.assertEqual(old_hero_2_last_message,
                         self.hero_2.journal.messages[-1])
 def test_serialize(self):
     self.assertEqual(self.task.serialize(), SayInBattleLogTask.deserialize(self.task.serialize()).serialize())
class SayInBattleLogTests(testcase.TestCase):

    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        result, account_1_id, bundle_id = register_user('test_user', '*****@*****.**', '111111')
        result, account_2_id, bundle_id = register_user('test_user_2', '*****@*****.**', '111111')

        self.account_1 = AccountPrototype.get_by_id(account_1_id)
        self.account_2 = AccountPrototype.get_by_id(account_2_id)

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id, text=u'some pvp message')

    def test_create(self):
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.UNPROCESSED)
        self.assertEqual(self.task.battle_id, self.battle.id)

    def test_serialize(self):
        self.assertEqual(self.task.serialize(), SayInBattleLogTask.deserialize(self.task.serialize()).serialize())

    def test_process_account_hero_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.ACCOUNT_HERO_NOT_FOUND)

    def test_process_battle_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.battle.remove()
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.BATTLE_NOT_FOUND)

    def test_process_success(self):
        old_hero_1_last_message = self.hero_1.messages.messages[-1]
        old_hero_2_last_message = self.hero_2.messages.messages[-1]

        self.assertEqual(self.task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.SUCCESS)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertNotEqual(old_hero_1_last_message, self.hero_1.messages.messages[-1])
        self.assertNotEqual(old_hero_2_last_message, self.hero_2.messages.messages[-1])

    def test_process_success_without_second_hero(self):
        old_hero_1_last_message = self.hero_1.messages.messages[-1]
        old_hero_2_last_message = self.hero_2.messages.messages[-1]

        self.storage.release_account_data(self.account_2.id)
        self.assertEqual(self.task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.SUCCESS)

        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)
        self.assertNotEqual(old_hero_1_last_message, self.hero_1.messages.messages[-1])
        self.assertEqual(old_hero_2_last_message, self.hero_2.messages.messages[-1])
Exemple #10
0
class SayInBattleLogTests(testcase.TestCase):
    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        self.account_1 = self.accounts_factory.create_account()
        self.account_2 = self.accounts_factory.create_account()

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id,
                                       text='some pvp message')

    def test_create(self):
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.UNPROCESSED)
        self.assertEqual(self.task.battle_id, self.battle.id)

    def test_serialize(self):
        self.assertEqual(
            self.task.serialize(),
            SayInBattleLogTask.deserialize(self.task.serialize()).serialize())

    def test_process_account_hero_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.ACCOUNT_HERO_NOT_FOUND)

    def test_process_battle_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.battle.remove()
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state,
                         SAY_IN_HERO_LOG_TASK_STATE.BATTLE_NOT_FOUND)

    def test_process_success(self):
        self.assertFalse(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)

        self.assertEqual(
            self.task.process(FakePostpondTaskPrototype(), self.storage),
            POSTPONED_TASK_LOGIC_RESULT.SUCCESS)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertTrue(self.hero_1.journal.messages)
        self.assertTrue(self.hero_2.journal.messages)

    def test_process_success_without_second_hero(self):
        self.assertFalse(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)

        self.storage.release_account_data(self.account_2.id)
        self.assertEqual(
            self.task.process(FakePostpondTaskPrototype(), self.storage),
            POSTPONED_TASK_LOGIC_RESULT.SUCCESS)

        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertTrue(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)
Exemple #11
0
class SayInBattleLogTests(testcase.TestCase):

    def setUp(self):
        super(SayInBattleLogTests, self).setUp()

        self.p1, self.p2, self.p3 = create_test_map()

        self.account_1 = self.accounts_factory.create_account()
        self.account_2 = self.accounts_factory.create_account()

        self.storage = LogicStorage()
        self.storage.load_account_data(self.account_1)
        self.storage.load_account_data(self.account_2)

        self.hero_1 = self.storage.accounts_to_heroes[self.account_1.id]
        self.hero_2 = self.storage.accounts_to_heroes[self.account_2.id]

        self.battle = Battle1x1Prototype.create(self.account_1)
        self.battle.set_enemy(self.account_2)
        self.battle.save()

        self.task = SayInBattleLogTask(battle_id=self.battle.id, text='some pvp message')

    def test_create(self):
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.UNPROCESSED)
        self.assertEqual(self.task.battle_id, self.battle.id)

    def test_serialize(self):
        self.assertEqual(self.task.serialize(), SayInBattleLogTask.deserialize(self.task.serialize()).serialize())

    def test_process_account_hero_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.ACCOUNT_HERO_NOT_FOUND)

    def test_process_battle_not_found(self):
        self.storage.release_account_data(self.account_1.id)
        self.battle.remove()
        self.task.process(FakePostpondTaskPrototype(), self.storage)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.BATTLE_NOT_FOUND)

    def test_process_success(self):
        self.assertFalse(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)

        self.assertEqual(self.task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.SUCCESS)
        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertTrue(self.hero_1.journal.messages)
        self.assertTrue(self.hero_2.journal.messages)


    def test_process_success_without_second_hero(self):
        self.assertFalse(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)

        self.storage.release_account_data(self.account_2.id)
        self.assertEqual(self.task.process(FakePostpondTaskPrototype(), self.storage), POSTPONED_TASK_LOGIC_RESULT.SUCCESS)

        self.assertEqual(self.task.state, SAY_IN_HERO_LOG_TASK_STATE.PROCESSED)

        self.assertTrue(self.hero_1.journal.messages)
        self.assertFalse(self.hero_2.journal.messages)