示例#1
0
    def check(self):
        eventmaster = self.__scoutevent_util.eventmaster
        stagemaster = self.__scoutevent_util.get_stage(1)
        playdata_pre = self.__scoutevent_util.get_scoutplaydata(
            self.__player0.id)

        # リダイレクト先.
        redirect_url = self.response.get('redirect_url')
        if redirect_url is None or redirect_url.find(
                '/sceventanim/{}/{}'.format(stagemaster.id,
                                            playdata_pre.confirmkey)) == -1:
            raise AppTestError(u'リダイレクト先が正しくありません')

        model_mgr = ModelRequestMgr()
        # 実行結果.
        playdata = BackendApi.get_event_playdata(model_mgr, eventmaster.id,
                                                 self.__player0.id)
        if playdata.alreadykey != playdata_pre.confirmkey:
            raise AppTestError(u'重複確認キーが正しくない')
        elif BackendApi.find_scout_event(
                playdata, Defines.ScoutEventType.LOVETIME_STAR) is None:
            raise AppTestError(u'星獲得の結果が設定されていない')

        star_diff = playdata.star - playdata_pre.star
        if not (stagemaster.lovetime_star_min <= star_diff <=
                stagemaster.lovetime_star_max):
            raise AppTestError(u'星の獲得数が正しくありません')
示例#2
0
    def check(self):

        playerrequest = PlayerRequest.getByKey(self.__player.id)
        if playerrequest.req_confirmkey == self.__player.req_confirmkey:
            raise AppTestError(u'確認キーが更新されていない')
        elif playerrequest.req_alreadykey != self.__player.req_confirmkey:
            raise AppTestError(u'確認済みのキーが正しく設定されていない')

        # 秘宝.
        playertreasure = PlayerTreasure.getByKey(self.__player.id)
        cabaretking = playertreasure.get_cabaretking_num()
        if cabaretking == self.__treasurenum:
            raise AppTestError(u'キャバ王の秘宝所持数が減っていない')
        elif cabaretking != (self.__treasurenum -
                             self.__trade.rate_cabaretking):
            raise AppTestError(u'キャバ王の秘宝所持数が正しくない')

        # チケット数.
        playergachapt = PlayerGachaPt.getByKey(self.__player.id)
        ticketnum = BackendApi.get_num_by_itemtype(ModelRequestMgr(),
                                                   playergachapt,
                                                   self.__trade.itype)
        if ticketnum == self.__ticketnum:
            raise AppTestError(u'チケットの所持数が変わっていない')
        elif ticketnum != (self.__ticketnum + self.__trade.itemnum):
            raise AppTestError(u'チケットの所持数が正しくない')
示例#3
0
    def setUp(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)

        # イベントマスター.
        eventmaster = self.create_dummy(DummyType.SCOUT_EVENT_MASTER)
        self.__eventmaster = eventmaster

        now = OSAUtil.get_now()

        # OPを閲覧済みに.
        flagrecord = self.create_dummy(DummyType.SCOUT_EVENT_FLAGS,
                                       self.__player0.id,
                                       self.__eventmaster.id, now)
        self.__flagrecord = flagrecord

        # イベント発生中設定.
        config = BackendApi.get_current_scouteventconfig(model_mgr)
        self.__preconfig_mid = config.mid
        self.__preconfig_starttime = config.starttime
        self.__preconfig_endtime = config.endtime
        BackendApi.update_scouteventconfig(self.__eventmaster.id, now,
                                           now + datetime.timedelta(days=1))
 def get_data(self):
     model_mgr = ModelRequestMgr()
     eventid = self.getEventId(model_mgr)
     data = RaidEventConsumePoint.aggregate(eventid)
     if data:
         return data.items()
     else:
         return None
示例#5
0
    def setUp2(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.makePlayer(1000)

        # イベントマスター.
        eventmaster = self.setUpEvent(model_mgr=model_mgr)
        self.__eventmaster = eventmaster

        # ランクのマスター.
        prize = self.create_dummy(DummyType.PRIZE_MASTER, gold=1000)
        params = {
            'winprizes': [{
                'prizes': [prize.id],
                'rate': 100,
            }],
            'loseprizes': [{
                'prizes': [prize.id],
                'rate': 100,
            }],
            'battlepoint_w': 100,
            'battlepoint_l': 200,
            'battlepoint_lv': 10,
            'battlepointreceive': 30,
        }
        eventrankmaster = self.createRankMaster(params=params)
        self.__eventrankmaster = eventrankmaster

        # オープニングを閲覧済みに.
        self.setOpeningViewTime(self.__player0.id)

        # 参加させておく.
        self.joinRank(self.__player0.id)

        # ログインしておく.
        self.setLoginBonusReceived(self.__player0.id)

        for _ in xrange(4):
            # 仕掛けて勝利.
            player = self.makePlayer(10)
            self.joinRank(player.id)
            self.battle(self.__player0, player)

            # 仕掛けて敗北.
            player = self.makePlayer(10000)
            self.joinRank(player.id)
            self.battle(self.__player0, player)

            # 受けて勝利.
            player = self.makePlayer(10)
            self.joinRank(player.id)
            self.battle(player, self.__player0)

            # 受けて敗北.
            player = self.makePlayer(10000)
            self.joinRank(player.id)
            self.battle(player, self.__player0)
示例#6
0
 def tr():
     model_mgr = ModelRequestMgr()
     playerfriend = model_mgr.get_model(PlayerFriend, v_player.id)
     playerfriend.friendnum = friend_num
     model_mgr.set_save(playerfriend)
     model_mgr.write_all()
     return model_mgr, playerfriend
示例#7
0
    def check(self):
        self.checkResponseStatus()

        model_mgr = ModelRequestMgr()
        player = BackendApi.get_players(None, [self.__player.id],
                                        [PlayerRegist],
                                        model_mgr=model_mgr)[0]
        if player.ptype != ApiTest.CHARACTER_TYPE:
            raise AppTestError(u'タイプが正しくない')
示例#8
0
    def get_data(self):
        model_mgr = ModelRequestMgr()
        eventid = self.getBattleEventId(model_mgr)

        data = BattleEventFame.aggregate(eventid)
        if data:
            return list(data.items())
        else:
            return None
示例#9
0
 def tr_write(self, uid, area, boss, animdata, key):
     """書き込み.
     """
     model_mgr = ModelRequestMgr()
     
     # 結果書き込み.
     BackendApi.tr_save_bossresult(model_mgr, uid, area, boss, animdata, key)
     
     player = BackendApi.get_players(self, [uid], [PlayerAp, PlayerFriend, PlayerExp], model_mgr=model_mgr)[0]
     if animdata.winFlag:
         BackendApi.tr_area_clear(model_mgr, player, area)
     
     # 消費体力書き込み.
     if 0 < boss.apcost:
         BackendApi.tr_add_ap(model_mgr, player, -boss.apcost)
     
     model_mgr.write_all()
     return model_mgr
示例#10
0
 def tr_event_write(self, eventmaster, uid, stage, boss, animdata, key, write_win):
     """イベント書き込み.
     """
     model_mgr = ModelRequestMgr()
     
     # 結果書き込み.
     BackendApi.tr_save_bossresult(model_mgr, uid, stage, boss, animdata, key)
     
     player = BackendApi.get_players(self, [uid], [PlayerAp, PlayerFriend, PlayerExp], model_mgr=model_mgr)[0]
     if animdata.winFlag:
         write_win(model_mgr, eventmaster, player, stage)
     
     # 消費体力書き込み.
     if 0 < boss.apcost:
         BackendApi.tr_add_ap(model_mgr, player, -boss.apcost)
     
     model_mgr.write_all()
     return model_mgr
示例#11
0
    def setUp2(self):
        model_mgr = ModelRequestMgr()

        # Player.
        self.__player0 = self.create_dummy(DummyType.PLAYER)

        # イベントマスター.
        eventmaster = self.setUpEvent(model_mgr=model_mgr)
        self.__eventmaster = eventmaster
示例#12
0
 def tr():
     model_mgr = ModelRequestMgr()
     for ticket in tickets:
         if ticket.num == 0:
             continue
         print 'mid: {}, num: {} => 0'.format(ticket.mid, ticket.num)
         ticket.num = 0
         model_mgr.set_save(ticket)
     model_mgr.write_all()
     model_mgr.write_end()
     return model_mgr