本文整理汇总了Python中the_tale.common.postponed_tasks.PostponedTaskPrototype类的典型用法代码示例。如果您正苦于以下问题:Python PostponedTaskPrototype类的具体用法?Python PostponedTaskPrototype怎么用?Python PostponedTaskPrototype使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PostponedTaskPrototype类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_1_process
def test_1_process(self):
self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 0)
self.assertEqual(ChangeCredentialsTaskPrototype._model_class.objects.all().count(), 0)
new_password = self.task.process(logger=mock.Mock())
self.assertTrue(self.task.is_processed)
self.assertEqual(django_authenticate(nick='test_user', password='111111').id, self.account.id)
self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 1)
self.assertEqual(ChangeCredentialsTaskPrototype._model_class.objects.all().count(), 1)
PostponedTaskPrototype._db_get_object(0).process(logger=mock.Mock())
self.assertEqual(django_authenticate(nick='test_user', password='111111'), None)
self.assertEqual(django_authenticate(nick='test_user', password=new_password).id, self.account.id)
开发者ID:Alkalit,项目名称:the-tale,代码行数:15,代码来源:test_reset_password.py
示例2: purchase_lot
def purchase_lot(buyer_id, lot):
from the_tale.common.postponed_tasks import PostponedTaskPrototype
from the_tale.finances.market import postponed_tasks
invoice = bank_prototypes.InvoicePrototype.create(recipient_type=bank_relations.ENTITY_TYPE.GAME_ACCOUNT,
recipient_id=lot.seller_id,
sender_type=bank_relations.ENTITY_TYPE.GAME_ACCOUNT,
sender_id=buyer_id,
currency=bank_relations.CURRENCY_TYPE.PREMIUM,
amount=lot.price,
description_for_sender=u'Покупка «%s»' % lot.name,
description_for_recipient=u'Продажа «%s»' % lot.name,
operation_uid=u'market-buy-lot-%s' % lot.type)
transaction = bank_transaction.Transaction(invoice.id)
logic_task = postponed_tasks.BuyLotTask(seller_id=lot.seller_id,
buyer_id=buyer_id,
lot_id=lot.id,
transaction=transaction)
task = PostponedTaskPrototype.create(logic_task)
amqp_environment.environment.workers.refrigerator.cmd_wait_task(task.id)
return task
开发者ID:Alkalit,项目名称:the-tale,代码行数:26,代码来源:logic.py
示例3: test_buy
def test_buy(self):
self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 0)
self.assertEqual(InvoicePrototype._model_class.objects.all().count(), 0)
with mock.patch("the_tale.common.postponed_tasks.PostponedTaskPrototype.cmd_wait") as cmd_wait:
self.purchase.buy(account=self.account)
self.assertEqual(cmd_wait.call_count, 1)
self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 1)
self.assertEqual(InvoicePrototype._model_class.objects.all().count(), 1)
postponed_logic = PostponedTaskPrototype._db_get_object(0).internal_logic
self.assertTrue(isinstance(postponed_logic, BuyPremium))
self.assertEqual(postponed_logic.account_id, self.account.id)
self.assertEqual(postponed_logic.days, self.days)
invoice = InvoicePrototype.get_by_id(postponed_logic.transaction.invoice_id)
self.assertEqual(invoice.recipient_type, ENTITY_TYPE.GAME_ACCOUNT)
self.assertEqual(invoice.recipient_id, self.account.id)
self.assertEqual(invoice.sender_type, ENTITY_TYPE.GAME_LOGIC)
self.assertEqual(invoice.sender_id, 0)
self.assertEqual(invoice.currency, CURRENCY_TYPE.PREMIUM)
self.assertEqual(invoice.amount, -self.cost)
self.assertEqual(invoice.description_for_sender, u"premium-days-transaction-description")
self.assertEqual(invoice.description_for_recipient, u"premium-days-transaction-description")
开发者ID:lshestov,项目名称:the-tale,代码行数:28,代码来源:test_goods.py
示例4: test_profile_update_nick
def test_profile_update_nick(self):
self.request_login(self.account.email)
response = self.client.post(reverse('accounts:profile:update'), {'email': self.account.email, 'nick': 'test_nick'})
self.assertEqual(response.status_code, 200)
self.check_ajax_processing(response, PostponedTaskPrototype._db_get_object(0).status_url)
self.assertEqual(ChangeCredentialsTask.objects.all().count(), 1)
self.assertEqual(ChangeCredentialsTask.objects.all()[0].state, relations.CHANGE_CREDENTIALS_TASK_STATE.CHANGING)
开发者ID:Alkalit,项目名称:the-tale,代码行数:7,代码来源:test_requests_profile.py
示例5: test_success
def test_success(self):
self.assertEqual(PostponedTask.objects.all().count(), 0)
response = self.post_ajax_json(url('game:heroes:reset-abilities', self.hero.id))
self.assertEqual(PostponedTask.objects.all().count(), 1)
task = PostponedTaskPrototype._db_get_object(0)
self.check_ajax_processing(response, task.status_url)
开发者ID:Alkalit,项目名称:the-tale,代码行数:8,代码来源:test_requests.py
示例6: change_credentials
def change_credentials(self):
from the_tale.accounts.postponed_tasks import ChangeCredentials
change_credentials_task = ChangeCredentials(task_id=self.id)
task = PostponedTaskPrototype.create(change_credentials_task)
environment.workers.accounts_manager.cmd_task(task.id)
return task
开发者ID:Alkalit,项目名称:the-tale,代码行数:9,代码来源:prototypes.py
示例7: choose_ability
def choose_ability(self, ability_id):
choose_task = postponed_tasks.ChooseHeroAbilityTask(hero_id=self.hero.id, ability_id=ability_id)
task = PostponedTaskPrototype.create(choose_task)
environment.workers.supervisor.cmd_logic_task(self.account.id, task.id)
return self.json_processing(task.status_url)
开发者ID:Alkalit,项目名称:the-tale,代码行数:9,代码来源:views.py
示例8: test_success_multiply_accoutns
def test_success_multiply_accoutns(self):
with self.check_delta(PostponedTaskPrototype._db_count, 1):
self.check_ajax_processing(self.post_ajax_json(url('accounts:messages:create'), {'text': 'test-message', 'recipients': ('%d,%d' % (self.account2.id, self.account3.id))}))
task = PostponedTaskPrototype._db_latest()
self.assertEqual(task.internal_logic.message, 'test-message')
self.assertEqual(task.internal_logic.account_id, self.account1.id)
self.assertEqual(task.internal_logic.recipients, [self.account2.id, self.account3.id])
开发者ID:Alkalit,项目名称:the-tale,代码行数:9,代码来源:test_requests.py
示例9: test_profile_confirm_email_for_unlogined
def test_profile_confirm_email_for_unlogined(self):
self.request_login(self.account.email)
self.client.post(reverse('accounts:profile:update'), {'email': '[email protected]', 'nick': 'test_nick'})
self.request_logout()
uuid = ChangeCredentialsTask.objects.all()[0].uuid
response = self.client.get(reverse('accounts:profile:confirm-email')+'?uuid='+uuid)
self.check_response_redirect(response, PostponedTaskPrototype._db_get_object(0).wait_url)
开发者ID:Alkalit,项目名称:the-tale,代码行数:9,代码来源:test_requests_profile.py
示例10: test_choose_processing
def test_choose_processing(self):
self.turn_to_quest(self.storage, self.hero.id)
self.request_login('[email protected]')
response = self.client.post(url('game:quests:api-choose', option_uid=self.option_uid, api_version='1.0', api_client=project_settings.API_CLIENT))
task = PostponedTaskPrototype._db_get_object(0)
self.check_ajax_processing(response, task.status_url)
self.assertEqual(PostponedTask.objects.all().count(), 1)
开发者ID:Alkalit,项目名称:the-tale,代码行数:9,代码来源:test_requests.py
示例11: test_initialization
def test_initialization(self):
from the_tale.common.postponed_tasks import PostponedTask, PostponedTaskPrototype, POSTPONED_TASK_STATE, 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())
开发者ID:Alkalit,项目名称:the-tale,代码行数:19,代码来源:test_supervisor_worker.py
示例12: reset_name
def reset_name(self):
change_task = postponed_tasks.ChangeHeroTask(hero_id=self.hero.id,
name=names.generator.get_name(self.hero.race, self.hero.gender),
race=self.hero.race,
gender=self.hero.gender)
task = PostponedTaskPrototype.create(change_task)
environment.workers.supervisor.cmd_logic_task(self.hero.account_id, task.id)
return self.json_processing(task.status_url)
开发者ID:Alkalit,项目名称:the-tale,代码行数:11,代码来源:views.py
示例13: reset_abilities
def reset_abilities(self):
if not self.hero.abilities.can_reset:
return self.json_error('heroes.reset_abilities.reset_timeout', u'Сброс способностей пока не доступен')
reset_task = postponed_tasks.ResetHeroAbilitiesTask(hero_id=self.hero.id)
task = PostponedTaskPrototype.create(reset_task)
environment.workers.supervisor.cmd_logic_task(self.account.id, task.id)
return self.json_processing(task.status_url)
开发者ID:Alkalit,项目名称:the-tale,代码行数:12,代码来源:views.py
示例14: test_change_hero
def test_change_hero(self):
self.assertEqual(PostponedTask.objects.all().count(), 0)
response = self.client.post(url('game:heroes:change-hero', self.hero.id), self.get_post_data())
self.assertEqual(PostponedTask.objects.all().count(), 1)
task = PostponedTaskPrototype._db_get_object(0)
self.check_ajax_processing(response, task.status_url)
self.assertEqual(task.internal_logic.name, names.generator.get_test_name(name=u'новое имя'))
self.assertEqual(task.internal_logic.gender, GENDER.MASCULINE)
self.assertEqual(task.internal_logic.race, RACE.DWARF)
开发者ID:Alkalit,项目名称:the-tale,代码行数:12,代码来源:test_requests.py
示例15: create
def create(context):
check_recipients(context.form)
logic_task = postponed_tasks.SendMessagesTask(
account_id=context.account.id, recipients=context.form.c.recipients, message=context.form.c.text
)
task = PostponedTaskPrototype.create(logic_task)
amqp_environment.environment.workers.accounts_manager.cmd_task(task.id)
return dext_views.AjaxProcessing(status_url=task.status_url)
开发者ID:lshestov,项目名称:the-tale,代码行数:12,代码来源:views.py
示例16: test_profile_confirm_email
def test_profile_confirm_email(self):
self.request_login(self.account.email)
self.client.post(reverse('accounts:profile:update'), {'email': '[email protected]', 'nick': 'test_nick'})
self.assertEqual(PostponedTaskPrototype._model_class.objects.all().count(), 0)
uuid = ChangeCredentialsTask.objects.all()[0].uuid
response = self.client.get(reverse('accounts:profile:confirm-email')+'?uuid='+uuid)
self.check_response_redirect(response, PostponedTaskPrototype._db_get_object(0).wait_url)
self.assertEqual(ChangeCredentialsTask.objects.all().count(), 1)
self.assertEqual(ChangeCredentialsTask.objects.all()[0].state, relations.CHANGE_CREDENTIALS_TASK_STATE.CHANGING)
self.assertEqual(Message.objects.all().count(), 1)
开发者ID:Alkalit,项目名称:the-tale,代码行数:12,代码来源:test_requests_profile.py
示例17: fast
def fast(self):
if self.account.is_authenticated():
return self.json_error('accounts.registration.fast.already_registered', u'Вы уже зарегистрированы')
if conf.accounts_settings.SESSION_REGISTRATION_TASK_ID_KEY in self.request.session:
task_id = self.request.session[conf.accounts_settings.SESSION_REGISTRATION_TASK_ID_KEY]
task = PostponedTaskPrototype.get_by_id(task_id)
if task is not None:
if task.state.is_processed:
return self.json_error('accounts.registration.fast.already_processed', u'Вы уже зарегистрированы, обновите страницу')
if task.state.is_waiting:
return self.json_processing(task.status_url)
# in other case create new task
referer = None
if conf.accounts_settings.SESSION_REGISTRATION_REFERER_KEY in self.request.session:
referer = self.request.session[conf.accounts_settings.SESSION_REGISTRATION_REFERER_KEY]
referral_of_id = None
if conf.accounts_settings.SESSION_REGISTRATION_REFERRAL_KEY in self.request.session:
referral_of_id = self.request.session[conf.accounts_settings.SESSION_REGISTRATION_REFERRAL_KEY]
action_id = None
if conf.accounts_settings.SESSION_REGISTRATION_ACTION_KEY in self.request.session:
action_id = self.request.session[conf.accounts_settings.SESSION_REGISTRATION_ACTION_KEY]
registration_task = postponed_tasks.RegistrationTask(account_id=None, referer=referer, referral_of_id=referral_of_id, action_id=action_id)
task = PostponedTaskPrototype.create(registration_task,
live_time=conf.accounts_settings.REGISTRATION_TIMEOUT)
self.request.session[conf.accounts_settings.SESSION_REGISTRATION_TASK_ID_KEY] = task.id
environment.workers.registration.cmd_task(task.id)
return self.json_processing(task.status_url)
开发者ID:alexudracul,项目名称:the-tale,代码行数:39,代码来源:views.py
示例18: test_success
def test_success(self):
with mock.patch('the_tale.accounts.workers.accounts_manager.Worker.cmd_task') as cmd_task:
with self.check_delta(PostponedTaskPrototype._db_count, 1):
self.check_ajax_processing(self.post_ajax_json(url('accounts:messages:create'), {'text': 'test-message', 'recipients': self.account2.id}))
task = PostponedTaskPrototype._db_latest()
self.assertEqual(cmd_task.call_args_list, [mock.call(task.id)])
self.assertEqual(task.internal_logic.message, 'test-message')
self.assertEqual(task.internal_logic.account_id, self.account1.id)
self.assertEqual(task.internal_logic.recipients, [self.account2.id])
开发者ID:Alkalit,项目名称:the-tale,代码行数:13,代码来源:test_requests.py
示例19: activate
def activate(self, hero, card_uid, data):
data['hero_id'] = hero.id
data['account_id'] = hero.account_id
data['card_uid'] = card_uid
card_task = UseCardTask(processor_id=self.TYPE.value,
hero_id=hero.id,
data=data)
task = PostponedTaskPrototype.create(card_task)
environment.workers.supervisor.cmd_logic_task(hero.account_id, task.id)
return task
开发者ID:Alkalit,项目名称:the-tale,代码行数:14,代码来源:effects.py
示例20: use_ability
def use_ability(self, ability):
battle = Battle1x1Prototype.get_by_account_id(self.account.id)
if battle is None or not battle.state.is_PROCESSING:
return self.json_error("pvp.use_ability.no_battle", u"Бой не идёт, вы не можете использовать способность")
use_ability_task = UsePvPAbilityTask(battle_id=battle.id, account_id=self.account.id, ability_id=ability.TYPE)
task = PostponedTaskPrototype.create(use_ability_task)
environment.workers.supervisor.cmd_logic_task(self.account.id, task.id)
return self.json_processing(task.status_url)
开发者ID:nbadp,项目名称:the-tale,代码行数:14,代码来源:views.py
注:本文中的the_tale.common.postponed_tasks.PostponedTaskPrototype类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论