def test_open_anchor_group_successful(self): """ 测试开通主播团成功 :return: """ while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) response = open_anchor_group_api.get() if open_anchor_group_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(open_anchor_group_api.get_code(), 0) anchor_group_obj = json.loads( response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['user_id'], int(self.user_id)) self.assertEqual(anchor_group_obj['gold'], 0) self.assertEqual(anchor_group_obj['max_num'], 2) self.assertEqual(anchor_group_obj['next_level'], 18) self.assertEqual(anchor_group_obj['next_level_name'], u'1级上校') self.assertEqual(anchor_group_obj['owend_anchor_count'], 0) break self.assertLess(self.count, self.max_count)
def test_quiz_stop_last_not_set_answer(self): """ 测试停止竞猜未设置答案进行下注 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=50000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) stop_quiz_api = StopQuizApi(self.game_anchor_login_name) stop_quiz_api.get({'question_id': quiz_questions_id}) self.assertEqual(stop_quiz_api.get_code(), 0) get_questions_api = GetQuestionsApi(self.game_anchor_login_name) response = get_questions_api.get({'room_id': self.game_room}) self.assertEqual(get_questions_api.get_code(), 0) self.assertEqual( json.loads( response.content)['result']['question_list'][0]['status'], 2) now_time_format = datetime.datetime.now().strftime("%Y-%m-%d") self.assertIn( now_time_format, json.loads( response.content)['result']['question_list'][0]['end_time']) quiz_api = QuizApi(self.user_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': '20000', 'option': 'A' }) self.assertEqual(quiz_api.get_code(), 505209) self.assertEqual(quiz_api.get_response_message(), u'对不起,管理员已停止该竞猜,快去竞猜下一个题目吧')
def test_normal_user_send_noble_gift(self): """ 测试普通用户送贵族礼物 :return: """ while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=self.gift_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) send_gift_api = SendGiftApi(self.login_name) send_gift_api.get({ 'room_id': self.room_id, 'gift_id': self.noble_gift_id, 'gift_count': 1, 'currency': 'gold' }) if send_gift_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(send_gift_api.get_code(), 900018) self.assertEqual(send_gift_api.get_response_message(), u'赠送礼物失败:贵族等级不足') break self.assertLess(self.count, self.max_count)
def test_get_task_reward_anchor_id_error(self): """ 测试请求接口主播ID不存在,可以成功 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=100) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.3) send_gift_ajax = LiveSendGift(self.user_mobile) send_gift_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'gift_id': 60, 'gift_count': 1, 'currency': 'gold' }) self.assertEqual(send_gift_ajax.get_resp_code(), 0) time.sleep(3) get_task_reward_ajax = GetTaskRewardAjax(self.user_mobile) get_task_reward_ajax.get({ 'task_behavior': 'send_gift', 'room_id': self.room_id, 'anchor_id': '90909090' }) self.assertEqual(get_task_reward_ajax.get_resp_code(), 0)
def test_diamond_get_list_can_be_add(self): """ 测试钻石守护可纳入主播团 :return: """ user_id = self.user_id while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=7156000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) open_anchor_group_api.get() if open_anchor_group_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(open_anchor_group_api.get_code(), 0) break self.assertLess(self.count, self.max_count) while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=7056000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_guard_api = BuyGuardApi(self.user_login_name) guard_response = buy_guard_api.get({ 'room_id': room_id, 'guard_id': '12', 'currency': 'gold' }) if buy_guard_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(buy_guard_api.get_code(), 0) self.assertEqual( json.loads(guard_response.content)['result']['guard_list'] [0]['user_guard_obj']['guard_rank'], 4) list_can_be_add_api = ListCanBeAddApi(self.user_login_name) response = list_can_be_add_api.get() self.assertEqual(list_can_be_add_api.get_code(), 0) self.assertEqual(list_can_be_add_api.get_response_message(), u'操作成功') anchor_list = json.loads( response.content)['result']['anchor_list'] self.assertEqual(len(anchor_list), 1) self.assertEqual(anchor_list[0]['room_obj']['id'], (room_id)) break self.assertLess(self.count, self.max_count)
def anchor_num_teardown(self, room_id, user_id, anchor_id): mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.clean_user_anchor_group() Redis().clean_anchor_group(user_id, anchor_id) mysql_operation.fix_user_rank_and_experience() mysql_operation.fix_user_account().clean_user_account_log() RedisHold().clean_redis_user_detail(user_id) Redis().clean_user_bean(user_id) RedisHold().clean_redis_room_detail(room_id, anchor_id)
def renew_noble_action(self, **kwargs): noble_price = kwargs['noble_price'] first_noble_id = kwargs['first_noble_id'] second_noble_id = kwargs['second_noble_id'] user_rank = kwargs['user_rank'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=noble_price) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_noble_api = BuyNobleApi(self.login_name) response = buy_noble_api.get({ 'noble_id': first_noble_id, 'num': 1, 'room_id': self.room_id, 'currency': 'gold' }) self.assertEqual(buy_noble_api.get_code(), 0) self.assertEqual(buy_noble_api.get_response_message(), u'操作成功') identity_obj = json.loads(response.content)['result']['identity_obj'] buy_noble_renew = BuyNobleApi(self.login_name) renew_response = buy_noble_renew.get({ 'noble_id': second_noble_id, 'num': 1, 'room_id': self.room_id, 'currency': 'gold' }) if second_noble_id < first_noble_id: self.assertEqual(buy_noble_renew.get_code(), 402026) self.assertEqual(buy_noble_renew.get_response_message(), u'您选择的贵族低于您当前已拥有的贵族等级,无法开通') self.assertEqual(identity_obj['user_rank'], user_rank) else: self.assertEqual(buy_noble_renew.get_code(), 0) self.assertEqual(buy_noble_renew.get_response_message(), u'操作成功') renew_response_identity_obj = json.loads( renew_response.content)['result']['identity_obj'] self.assertEqual(renew_response_identity_obj['diamond'], u'0') self.assertEqual(renew_response_identity_obj['gold'], 0) self.assertEqual(renew_response_identity_obj['user_rank'], user_rank) if second_noble_id == first_noble_id: noble_rest_time = range(28, 32) self.assertEqual(renew_response_identity_obj['noble_rank'], first_noble_id) else: noble_rest_time = [-1, 0, 1] self.assertEqual(renew_response_identity_obj['noble_rank'], second_noble_id) self.assertIn( renew_response_identity_obj['noble_rest_time_int'] - identity_obj['noble_rest_time_int'], noble_rest_time)
def add_anchor_to_group_teardown(self, user_id, anchor_id): mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience() mysql_operation.fix_user_account() Redis().clean_anchor_group(user_id, anchor_id) for i in [user_id, anchor_id]: RedisHold().clean_redis_user_detail(i) MysqlOperation( user_id=i).clean_user_anchor_group().clean_user_account_log() Redis().clean_user_buy_guard(user_id, anchor_id) time.sleep(self.time_sleep)
def test_buy_sun_no_following_success(self): """ 测试未关注主播购买太阳 :return: """ # 用户加钱 mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=2000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) live_new_server_ajax = LiveNewServer(self.user_mobile) live_new_server_ajax.get({'room_id': self.room_id}) self.assertEqual(live_new_server_ajax.get_resp_code(), 0) live_result = live_new_server_ajax.get_resp_result() # 获取房间热度 hot_num = live_result['room_obj']['curr_hot_num'] # 获取太阳数量 sun_num = live_result['room_obj']['sun_num'] buy_sun = BuySunAjax(self.user_mobile) buy_sun.get({'room_id': self.room_id, 'anchor_id': self.anchor_id}) self.assertEqual(buy_sun.get_resp_code(), 0) buy_sun_result = buy_sun.get_resp_result() anchor_obj = buy_sun_result['room_obj']['anchor_obj'] # 校验主播等级 self.assertEqual(anchor_obj['anchor_rank'], 1) # 校验主播经验值 self.assertEqual(anchor_obj['anchor_experience'], 0) identity_obj = buy_sun_result['identity_obj'] # 校验用户余额 self.assertEqual(identity_obj['gold'], 0) # 校验用户等级 self.assertEqual(identity_obj['user_rank'], 1) # 校验用户经验值增加 self.assertEqual(identity_obj['user_experience'], 2000) # 校验亲密度 intimacy_obj = identity_obj['intimacy_obj'] self.assertEqual(intimacy_obj['intimacy_experience'], 0) self.assertEqual(intimacy_obj['intimacy_rank'], 0) self.assertEqual(intimacy_obj['intimacy_next_experience'], 0) self.assertIsNone(intimacy_obj['intimacy_level_obj']) # 获取购买太阳成功后房间热度 after_buy_sun_hot_num = buy_sun_result['room_obj']['curr_hot_num'] after_buy_sun_sun_num = buy_sun_result['room_obj']['sun_num'] self.assertEqual(after_buy_sun_hot_num - hot_num, 0) self.assertEqual(after_buy_sun_sun_num - sun_num, 20)
def test_quiz_question_id_error(self): """ 测试请求下注接口问题ID不存在 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=10000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': '999', 'gold': 10000, 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 505207) self.assertEqual(quiz_api.get_response_message(), u'竞猜题目不存在')
def test_open_anchor_group_successful(self): """ 测试开通主播团成功 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) open_anchor_group = OpenAnchorGroupAjax(self.user_mobile) open_anchor_group.get() self.assertEqual(open_anchor_group.get_resp_code(), 0) anchor_group_obj = open_anchor_group.get_resp_result( )['anchor_group_obj'] self.assertEqual(anchor_group_obj['user_id'], int(self.user_id)) self.assertEqual(anchor_group_obj['gold'], 0) self.assertEqual(anchor_group_obj['max_num'], 2) self.assertEqual(anchor_group_obj['next_level'], 18) self.assertEqual(anchor_group_obj['next_level_name'], u'1级上校') self.assertEqual(anchor_group_obj['owend_anchor_count'], 0) # 校验消费记录 consumption_ajax = ConsumptionAjax(self.user_mobile) consumption_ajax.get() self.assertEqual(consumption_ajax.get_resp_code(), 0) consumption_result = consumption_ajax.get_resp_result() consume_list = consumption_result['consume_list'] self.assertEqual(len(consume_list), 1) create_time = consume_list[0]['create_time'] create_time_mk = convert_to_timestamp(create_time) self.assertLessEqual(int(time.time()) - create_time_mk, 5) self.assertEqual(consume_list[0]['user_id'], self.user_id) self.assertEqual(consume_list[0]['type'], u'7') self.assertEqual(consume_list[0]['gold'], 100000) self.assertEqual(consume_list[0]['corresponding_id'], 0) self.assertEqual(consume_list[0]['corresponding_name'], '主播团') self.assertEqual(consume_list[0]['corresponding_num'], 1) self.assertEqual(consume_list[0]['room_id'], '') self.assertEqual(consume_list[0]['status'], 1) self.assertEqual(consume_list[0]['behavior_desc'], '开通主播团') self.assertEqual(consume_list[0]['consumption_type'], '{0}金币'.format(100000)) self.assertIsNone(consume_list[0]['gift_obj']) self.assertIsNone(consume_list[0]['behavior'])
def test_anchor_group_withdraw_failed(self): """ 测试主播团金库数量小于100000不可转出 :return: """ user_id = self.user_id mysql_operation = MysqlOperation(user_id=user_id,anchor_id=anchor_id) mysql_operation.fix_user_rank_and_experience(user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=51326000) RedisHold().clean_redis_user_detail(self.user_id) # 开通主播团 open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) open_anchor_group_api.get() self.assertEqual(open_anchor_group_api.get_code(), 0) # 购买守护 buy_guard_api = BuyGuardApi(self.user_login_name) guard_response = buy_guard_api.get({'room_id': room_id, 'guard_id': '2','currency':'gold'}) self.assertEqual(buy_guard_api.get_code(), 0) self.assertEqual(json.loads(guard_response.content)['result']['identity_obj']['user_guard_obj']['guard_rank'], 2) time.sleep(1) # 将主播纳入主播团 add_anchor_to_group_api = AddAnchorToGroupApi(self.user_login_name) response = add_anchor_to_group_api.get({'anchor_id': anchor_id, 'position': 1,'grab_flag': 0,'change_flag': 0}) self.assertEqual(add_anchor_to_group_api.get_code(), 0) self.assertEqual(add_anchor_to_group_api.get_response_message(), u'操作成功') anchor_group_anchor_obj = json.loads(response.content)['result']['anchor_group_list'][0]['anchor_group_anchor_obj'] self.assertEqual(anchor_group_anchor_obj['anchor_id'], int(anchor_id)) self.assertEqual(anchor_group_anchor_obj['position'], 1) self.assertEqual(anchor_group_anchor_obj['income_gold'], 0) self.assertLessEqual(anchor_group_anchor_obj['left_time'], 604800) time.sleep(1) # 给主播团内主播送礼物 send_gift_api = SendGiftApi(self.user_login_name) send_gift_api.get({'room_id': room_id, 'gift_id': 2, 'gift_count': 1,'currency':'gold'}) self.assertEqual(send_gift_api.get_code(), 0) time.sleep(3) # 查询主播团金库金币 my_anchor_group_api = MyAnchorGroupApi(self.user_login_name) my_anchor_group_response = my_anchor_group_api.get() response_gold = json.loads(my_anchor_group_response.content)['result']['anchor_group_obj']['gold'] self.assertEqual(my_anchor_group_api.get_code(),0) expect_gold_num = (int(mysql_operation.get_gift_details(gift_id=2)['gold']) * 1) * 0.05 self.assertEqual(response_gold,expect_gold_num) # 提取主播团金库金币 anchor_group_withdraw_api = AnchorGroupWithdrawApi(self.user_login_name) anchor_group_withdraw_api.get() self.assertEqual(anchor_group_withdraw_api.get_code(),200510) self.assertEqual(anchor_group_withdraw_api.get_response_message(),u'金库余额大于等于100000金币才可转出')
def tearDown(self, *args): super(TestGetTaskRewardAbnormal, self).tearDown() mysql_operation = MysqlOperation(user_id=self.user_id, anchor_id=self.anchor_id) mysql_operation.fix_user_account().clean_user_intimacy_rank( ).clean_user_account_log() mysql_operation.clean_send_gift().clean_user_package_gift( ).clean_user_contribution() MysqlOperation(anchor_id=self.anchor_id).fix_anchor_rank_and_exp() for x in [self.user_id, self.anchor_id]: MysqlOperation(user_id=x).fix_user_rank_and_experience() RedisHold().clean_redis_user_detail(x) RedisHold().clean_redis_room_detail(self.room_id, self.anchor_id) MysqlOperation(user_id=self.user_id).fix_user_bind_mobile( login_name=self.user_mobile).clean_user_task() Redis().clean_check_mobile_code(self.user_id) Redis().clean_user_task(self.user_id) time.sleep(0.2)
def test_buy_noble_gold_low(self): """ 测试请求接口账户金币不足 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=23999) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_noble_api = BuyNobleApi(self.login_name) buy_noble_api.get({ 'noble_id': 1, 'num': 1, 'room_id': self.room_id, 'currency': 'gold' }) self.assertEqual(buy_noble_api.get_code(), 100032) self.assertEqual(buy_noble_api.get_response_message(), u'账户金币不足')
def tearDown(self, *args): super(TestBuySunAjax, self).tearDown() relieve_follow = RelieveFollowAjax(self.user_mobile) relieve_follow.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id }) mysql_operation = MysqlOperation(user_id=self.user_id, anchor_id=self.anchor_id) mysql_operation.fix_user_account().clean_user_intimacy_rank( ).clean_user_account_log() mysql_operation.clean_send_gift().clean_user_package_gift( ).clean_user_contribution() MysqlOperation(anchor_id=self.anchor_id).fix_anchor_rank_and_exp() for x in [self.user_id, self.anchor_id]: MysqlOperation(user_id=x).fix_user_rank_and_experience() RedisHold().clean_redis_user_detail(x) RedisHold().clean_redis_room_detail(self.room_id, self.anchor_id) time.sleep(0.3)
def test_quiz_option_error(self): """ 测试请求下注接口竞猜选项错误 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=10000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': 10000, 'option': 'C' }) self.assertEqual(quiz_api.get_code(), 505208) self.assertEqual(quiz_api.get_response_message(), u'竞猜选项不存在')
def test_anchor_quiz_me(self): """ 测试主播无法投注自己房间得题目 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({ 'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b }) self.assertEqual(set_questions_api.get_code(), 0) question_ids = [] for x in MysqlOperation(room_id=self.game_room).get_questions(): question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({ 'room_id': self.game_room, 'question_bank_ids': question_ids_json }) self.assertEqual(start_quiz_api.get_code(), 0) quiz_questions_id = MysqlOperation( room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.game_anchor_id) mysql_operation.fix_user_account(gold_num=20000) RedisHold().clean_redis_user_detail(self.game_anchor_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.game_anchor_login_name) quiz_api.get({ 'question_id': quiz_questions_id, 'gold': '20000', 'option': 'A' }) self.assertEqual(quiz_api.get_code(), 505226) self.assertEqual(quiz_api.get_response_message(), u'主播不能对自己直播间的问题进行投注')
def test_open_anchor_group_again(self): """ 测试重复开通主播团 :return: """ while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) open_anchor_group_api.get() if open_anchor_group_api.get_code() == 200502: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(open_anchor_group_api.get_code(), 0) while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api_again = OpenAnchorGroupApi( self.user_login_name) open_anchor_group_api_again.get() if open_anchor_group_api_again.get_code() == 200502: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual( open_anchor_group_api_again.get_code(), 200503) self.assertEqual( open_anchor_group_api_again.get_response_message(), u'已经创建过主播团') break self.assertLess(self.count, self.max_count) break self.assertLess(self.count, self.max_count)
def test_anchor_colonel_group_anchor_num(self): """ 测试用户等级为18时可纳入数量 :return: """ user_id = self.user_id mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience(user_rank=18, experience_all=2000000) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) response = open_anchor_group_api.get() self.assertEqual(open_anchor_group_api.get_code(), 0) anchor_group_obj = json.loads( response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['max_num'], 2) self.assertEqual(anchor_group_obj['next_level_name'], u'1级上校') self.assertEqual(anchor_group_obj['next_level'], 18)
def test_anchor_group_withdraw(self): """ 测试主播团金库金币收入和提出 :return: """ user_id = self.user_id mysql_operation = MysqlOperation(user_id=user_id,anchor_id=anchor_id) expect_gold_num = (int(mysql_operation.get_gift_details(gift_id=67)['gold']) * 2000) * 0.05 mysql_operation.fix_user_rank_and_experience(user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=2738000) RedisHold().clean_redis_user_detail(self.user_id) # 开通主播团 open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) response = open_anchor_group_api.get() self.assertEqual(open_anchor_group_api.get_code(), 0) self.assertEqual(json.loads(response.content)['result']['identity_obj']['gold'],2638000) # 购买守护 buy_guard_api = BuyGuardApi(self.user_login_name) guard_response = buy_guard_api.get({'room_id': room_id, 'guard_id': '1','currency':'gold'}) self.assertEqual(buy_guard_api.get_code(), 0) self.assertEqual(json.loads(guard_response.content)['result']['identity_obj']['user_guard_obj']['guard_rank'], 1) self.assertEqual(json.loads(guard_response.content)['result']['identity_obj']['gold'],2050000) time.sleep(1) # 将主播纳入主播团 add_anchor_to_group_api = AddAnchorToGroupApi(self.user_login_name) response = add_anchor_to_group_api.get({'anchor_id': anchor_id, 'position': 1,'grab_flag': 0,'change_flag': 0}) self.assertEqual(add_anchor_to_group_api.get_code(), 0) self.assertEqual(add_anchor_to_group_api.get_response_message(), u'操作成功') anchor_group_anchor_obj = json.loads(response.content)['result']['anchor_group_list'][0]['anchor_group_anchor_obj'] self.assertEqual(anchor_group_anchor_obj['anchor_id'], int(anchor_id)) self.assertEqual(anchor_group_anchor_obj['position'], 1) self.assertEqual(anchor_group_anchor_obj['income_gold'], 0) self.assertLessEqual(anchor_group_anchor_obj['left_time'], 604800) self.assertEqual(json.loads(response.content)['result']['identity_obj']['gold'],2000000) time.sleep(1) # 给主播团内主播送礼物 send_gift_api = SendGiftApi(self.user_login_name) send_gift_response = send_gift_api.get({'room_id': room_id, 'gift_id': 67, 'gift_count': 2000,'currency':'gold'}) self.assertEqual(send_gift_api.get_code(), 0) self.assertEqual(json.loads(send_gift_response.content)['result']['identity_obj']['gold'],0) time.sleep(1) # 查询主播团金库金币 my_anchor_group_api = MyAnchorGroupApi(self.user_login_name) my_anchor_group_response = my_anchor_group_api.get() self.assertEqual(my_anchor_group_api.get_code(),0) anchor_group_gold = json.loads(my_anchor_group_response.content)['result']['anchor_group_obj']['gold'] self.assertEqual(anchor_group_gold,expect_gold_num) # 提取主播团金库金币 anchor_group_withdraw_api = AnchorGroupWithdrawApi(self.user_login_name) withdraw_response = anchor_group_withdraw_api.get() self.assertEqual(anchor_group_withdraw_api.get_code(),0) anchor_group_obj = json.loads(withdraw_response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['gold'],0) time.sleep(3) db_user_gold = mysql_operation.get_user_account_details()['gold'] self.assertEqual(int(db_user_gold),int(expect_gold_num * 0.9)) time.sleep(3) # 查询主播团日志 my_anchor_group_logs_api = MyAnchorGroupLogsApi(self.user_login_name) logs_response = my_anchor_group_logs_api.get() anchor_group_log_list = json.loads(logs_response.content)['result']['anchor_group_log_list'] self.assertEqual(my_anchor_group_logs_api.get_code(),0) self.assertEqual(len(anchor_group_log_list),3) self.assertIn(u'金库资金被转出',anchor_group_log_list[0]['content']) self.assertIn(u'为金库贡献了',anchor_group_log_list[1]['content']) self.assertIn(u'被纳入主播团',anchor_group_log_list[2]['content']) # 金币获取记录 gold_account_api = GoldAccountApi(self.user_login_name) response = gold_account_api.get() self.assertEqual(gold_account_api.get_code(), 0) account_list = json.loads(response.content)['result']['account_list'] self.assertEqual(len(account_list),1) self.assertEqual(account_list[0]['gold'], int(expect_gold_num) * 0.9) self.assertEqual(account_list[0]['consumption_type'], u'%s金币' % (int(int(expect_gold_num) * 0.9))) self.assertEqual(account_list[0]['behavior_desc'], u'主播团提现')
def test_anchor_group_rob(self): """ 测试将其他主播团中主播纳入到自己的主播团 :return: """ for login_name in [self.user_login_name, self.rob_user_login_name]: mysql_operation = MysqlOperation(mobile=login_name) user_id = str(mysql_operation.get_user_id()) mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience(user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=51326000) RedisHold().clean_redis_user_detail(user_id) # 依次给用户开通主播团 open_anchor_group_api = OpenAnchorGroupApi(login_name) open_anchor_group_api.get() self.assertEqual(open_anchor_group_api.get_code(), 0) # 用户依次购买守护 buy_guard_api = BuyGuardApi(login_name) buy_guard_api.get({'room_id': room_id, 'guard_id': '2','currency':'gold'}) self.assertEqual(buy_guard_api.get_code(), 0) time.sleep(self.time_sleep * 2) # 用户将主播纳入主播团 add_anchor_to_group_api = AddAnchorToGroupApi(self.user_login_name) add_anchor_to_group_api.get({'anchor_id': anchor_id, 'position': 1,'grab_flag': 0,'change_flag': 0}) self.assertEqual(add_anchor_to_group_api.get_code(), 0) time.sleep(0.5) # 查询主播团信息 my_anchor_group_list_api = MyAnchorGroupListApi(self.user_login_name) list_response = my_anchor_group_list_api.get() self.assertEqual(my_anchor_group_list_api.get_code(), 0) anchor_group_opening_info = json.loads(list_response.content)['result']['anchor_group_opening_info'] self.assertEqual(anchor_group_opening_info['gold_needed'],100000) self.assertEqual(anchor_group_opening_info['is_opened'],1) anchor_group_obj = json.loads(list_response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['owend_anchor_count'],1) # 用户将主播抢到自己的主播团 add_anchor_to_group_api = AddAnchorToGroupApi(self.rob_user_login_name) add_anchor_to_group_api.get({'anchor_id': anchor_id, 'position': 1,'grab_flag': 1,'change_flag': 0}) self.assertEqual(add_anchor_to_group_api.get_code(), 0) time.sleep(0.5) # 查询15020170001主播团信息 my_anchor_group_list_api = MyAnchorGroupListApi(self.rob_user_login_name) list_response = my_anchor_group_list_api.get() self.assertEqual(my_anchor_group_list_api.get_code(), 0) anchor_group_opening_info = json.loads(list_response.content)['result']['anchor_group_opening_info'] self.assertEqual(anchor_group_opening_info['gold_needed'],100000) self.assertEqual(anchor_group_opening_info['is_opened'],1) anchor_group_obj = json.loads(list_response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['owend_anchor_count'],1) # 查询13501077762主播团信息 my_anchor_group_list_api = MyAnchorGroupListApi(self.user_login_name) list_response = my_anchor_group_list_api.get() self.assertEqual(my_anchor_group_list_api.get_code(), 0) anchor_group_obj = json.loads(list_response.content)['result']['anchor_group_obj'] self.assertEqual(anchor_group_obj['owend_anchor_count'],0) time.sleep(2) # 查询13501077762主播团日志 my_anchor_group_logs_api = MyAnchorGroupLogsApi(self.user_login_name) logs_response = my_anchor_group_logs_api.get() anchor_group_log_list = json.loads(logs_response.content)['result']['anchor_group_log_list'] self.assertEqual(my_anchor_group_logs_api.get_code(), 0) self.assertEqual(len(anchor_group_log_list), 2) self.assertIn(u'抢走', anchor_group_log_list[0]['content']) self.assertIn(u'被纳入主播团', anchor_group_log_list[1]['content']) # 查询15020170001主播团日志 my_anchor_group_logs_api = MyAnchorGroupLogsApi(self.rob_user_login_name) logs_response = my_anchor_group_logs_api.get() anchor_group_log_list = json.loads(logs_response.content)['result']['anchor_group_log_list'] self.assertEqual(my_anchor_group_logs_api.get_code(), 0) self.assertEqual(len(anchor_group_log_list), 1) self.assertIn(u'被纳入主播团', anchor_group_log_list[0]['content'])
def test_add_anchor_to_group_consumption(self): """ 测试主播团日志 :return: """ user_id = self.user_id while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) open_anchor_group_api = OpenAnchorGroupApi(self.user_login_name) open_anchor_group_api.get() if open_anchor_group_api.get_code() == 200502: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(open_anchor_group_api.get_code(), 0) break self.assertLess(self.count, self.max_count) consumption_api = ConsumptionApi(self.user_login_name) response = consumption_api.get() consume_list = json.loads(response.content)['result']['consume_list'] self.assertEqual(consumption_api.get_code(), 0) self.assertEqual(len(consume_list), 1) self.assertEqual(consume_list[0]['type'], u'7') self.assertEqual(consume_list[0]['gold'], 100000) self.assertEqual(consume_list[0]['corresponding_name'], u'主播团') self.assertEqual(consume_list[0]['consumption_type'], u'100000金币') self.assertEqual(consume_list[0]['behavior_desc'], u'开通主播团') while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=638000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_guard_api = BuyGuardApi(self.user_login_name) guard_response = buy_guard_api.get({ 'room_id': room_id, 'guard_id': '1', 'currency': 'gold' }) if buy_guard_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(buy_guard_api.get_code(), 0) self.assertEqual( json.loads(guard_response.content)['result'] ['identity_obj']['user_guard_obj']['guard_rank'], 1) break self.assertLess(self.count, self.max_count) add_anchor_to_group_api = AddAnchorToGroupApi(self.user_login_name) response = add_anchor_to_group_api.get({ 'anchor_id': anchor_id, 'position': 1, 'grab_flag': 0, 'change_flag': 0 }) self.assertEqual(add_anchor_to_group_api.get_code(), 0) self.assertEqual(add_anchor_to_group_api.get_response_message(), u'操作成功') anchor_group_anchor_obj = json.loads( response.content )['result']['anchor_group_list'][0]['anchor_group_anchor_obj'] self.assertEqual(anchor_group_anchor_obj['anchor_id'], int(anchor_id)) self.assertEqual(anchor_group_anchor_obj['position'], 1) self.assertEqual(anchor_group_anchor_obj['income_gold'], 0) self.assertLessEqual(anchor_group_anchor_obj['left_time'], 604800) # 消费记录 consumption_api = ConsumptionApi(self.user_login_name) response = consumption_api.get() consume_list = json.loads(response.content)['result']['consume_list'] self.assertEqual(consumption_api.get_code(), 0) self.assertEqual(consume_list[0]['gold'], 50000) self.assertEqual(consume_list[0]['corresponding_name'], u'纳入主播团') self.assertEqual(consume_list[0]['consumption_type'], u'50000金币') self.assertEqual(consume_list[0]['behavior_desc'], u'纳入主播团') self.assertEqual(consume_list[0]['user_id'], self.user_id) self.assertEqual( consume_list[0]['room_title'], MysqlOperation(room_id=room_id).get_room_details()['title'])
def test_add_diamond_to_group(self): """ 测试纳入钻石守护 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_rank_and_experience( user_rank=self.user_rank, experience_all=self.user_experience_all) mysql_operation.fix_user_account(gold_num=7056000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.3) buy_guard_ajax = BuyGuardAjax(self.user_mobile) buy_guard_ajax.get({ 'room_id': self.room_id, 'guard_id': 12, 'currency': 'gold' }) self.assertEqual(buy_guard_ajax.get_resp_code(), 0) mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=100000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) open_anchor_group = OpenAnchorGroupAjax(self.user_mobile) open_anchor_group.get() self.assertEqual(open_anchor_group.get_resp_code(), 0) anchor_group_obj = open_anchor_group.get_resp_result( )['anchor_group_obj'] self.assertEqual(anchor_group_obj['user_id'], int(self.user_id)) self.assertEqual(anchor_group_obj['gold'], 0) self.assertEqual(anchor_group_obj['max_num'], 2) self.assertEqual(anchor_group_obj['next_level'], 18) self.assertEqual(anchor_group_obj['next_level_name'], u'1级上校') self.assertEqual(anchor_group_obj['owend_anchor_count'], 0) mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=50000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.3) add_anchor_to_group = AddAnchorToGroup(self.user_mobile) add_anchor_to_group.post({ 'position': 1, 'anchor_id': self.anchor_id, 'grab_flag': 0, 'change_flag': 0 }) self.assertEqual(add_anchor_to_group.get_resp_code(), 0) anchor_group_list = add_anchor_to_group.get_resp_result( )['anchor_group_list'] self.assertEqual(len(anchor_group_list), 2) self.assertIsNone(anchor_group_list[1]) anchor_obj = anchor_group_list[0]['anchor_obj'] self.assertEqual(anchor_obj['id'], self.anchor_id) anchor_group_anchor_obj = anchor_group_list[0][ 'anchor_group_anchor_obj'] self.assertEqual(anchor_group_anchor_obj['user_id'], int(self.user_id)) self.assertEqual(anchor_group_anchor_obj['anchor_id'], int(self.anchor_id)) self.assertEqual(anchor_group_anchor_obj['room_id'], int(self.room_id)) self.assertEqual(anchor_group_anchor_obj['position'], 1) self.assertEqual(anchor_group_anchor_obj['income_gold'], 0) self.assertEqual(anchor_group_anchor_obj['status'], 1) self.assertLessEqual(anchor_group_anchor_obj['left_time'], 604800) self.assertIn((datetime.datetime.now()).strftime("%Y-%m-%d %H"), anchor_group_anchor_obj['start_date_time']) self.assertIn((datetime.datetime.now() + datetime.timedelta(days=+7)).strftime("%Y-%m-%d %H"), anchor_group_anchor_obj['end_date_time']) identity_obj = add_anchor_to_group.get_resp_result()['identity_obj'] self.assertEqual(identity_obj['gold'], 0) # 校验消费记录 consumption_ajax = ConsumptionAjax(self.user_mobile) consumption_ajax.get() self.assertEqual(consumption_ajax.get_resp_code(), 0) consumption_result = consumption_ajax.get_resp_result() consume_list = consumption_result['consume_list'] self.assertEqual(len(consume_list), 3) create_time = consume_list[0]['create_time'] create_time_mk = convert_to_timestamp(create_time) self.assertLessEqual(int(time.time()) - create_time_mk, 5) self.assertEqual(consume_list[0]['user_id'], self.user_id) self.assertEqual(consume_list[0]['type'], '10') self.assertEqual(consume_list[0]['gold'], 50000) self.assertEqual(consume_list[0]['corresponding_id'], 0) self.assertEqual(consume_list[0]['corresponding_name'], '纳入主播团') self.assertEqual(consume_list[0]['corresponding_num'], 1) self.assertEqual(consume_list[0]['room_id'], self.room_id) self.assertEqual(consume_list[0]['status'], 1) self.assertEqual(consume_list[0]['behavior_desc'], '纳入主播团') self.assertEqual(consume_list[0]['consumption_type'], '{0}金币'.format(50000)) self.assertIsNone(consume_list[0]['gift_obj']) self.assertIsNone(consume_list[0]['behavior'])
def action(self,**kwargs): guard_id = kwargs['guard_id'] guard_price = None if guard_id == 1: guard_price = 588000 elif guard_id == 2: guard_price = 1176000 elif guard_id == 3: guard_price = 1764000 elif guard_id == 12: guard_price = 7056000 while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=guard_price) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_guard_api = BuyGuardApi(self.login_name) response = buy_guard_api.get({'room_id':self.room_id,'guard_id':guard_id,'currency':'gold'}) if buy_guard_api.get_code() == 100032: time.sleep(self.time_sleep) self.count+=1 else: self.assertEqual(buy_guard_api.get_code(),0) identity_obj = json.loads(response.content)['result']['identity_obj'] if guard_id == 12: self.assertEqual(identity_obj['user_guard_obj']['guard_rank'], 4) else: self.assertEqual(identity_obj['user_guard_obj']['guard_rank'],guard_id) break self.assertLess(self.count,self.max_count) while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=self.gift_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) send_gift_api = SendGiftApi(self.login_name) response = send_gift_api.get({'room_id': self.room_id, 'gift_id': self.guard_gift_id, 'gift_count': 1,'currency': 'gold'}) if send_gift_api.get_code() in [100032,100503]: time.sleep(self.time_sleep) self.count+=1 else: self.assertEqual(send_gift_api.get_code(),0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'],0) self.assertEqual(identity_obj['diamond'],u'0') break self.assertLess(self.count,self.max_count) consumption_api = ConsumptionApi(self.login_name) response = consumption_api.get() self.assertEqual(consumption_api.get_code(),0) consume_list = json.loads(response.content)['result']['consume_list'] self.assertEqual(len(consume_list),2) self.assertEqual(consume_list[0]['user_id'],self.user_id) self.assertEqual(consume_list[0]['type'],u'1') self.assertEqual(consume_list[0]['gold'],self.gift_gold) self.assertEqual(consume_list[0]['corresponding_id'],int(self.guard_gift_id)) self.assertEqual(consume_list[0]['corresponding_name'],MysqlOperation().get_gift_details(gift_id=self.guard_gift_id)['name']) self.assertEqual(consume_list[0]['corresponding_num'],1) self.assertEqual(consume_list[0]['room_id'],self.room_id) self.assertEqual(consume_list[0]['status'],1) self.assertEqual(consume_list[0]['behavior_desc'],u'送礼') self.assertEqual(consume_list[0]['room_title'],MysqlOperation(room_id=self.room_id).get_room_details()['title']) self.assertEqual(consume_list[0]['consumption_type'],u'%s金币' % self.gift_gold)
def action(self, **kwargs): noble_id = kwargs['noble_id'] noble_price = None if noble_id == 1: noble_price = 24000 elif noble_id == 2: noble_price = 40000 elif noble_id == 3: noble_price = 80000 elif noble_id == 4: noble_price = 400000 elif noble_id == 5: noble_price = 800000 elif noble_id == 6: noble_price = 2400000 elif noble_id == 7: noble_price = 24000000 while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=noble_price) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_noble_api = BuyNobleApi(self.login_name) response = buy_noble_api.get({ 'noble_id': noble_id, 'num': 1, 'room_id': self.room_id, 'currency': 'gold' }) if buy_noble_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(buy_noble_api.get_code(), 0) self.assertEqual( json.loads(response.content)['result']['identity_obj'] ['noble_rank'], noble_id) break self.assertLess(self.count, self.max_count) while self.count < self.max_count: mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=self.gift_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) send_gift_api = SendGiftApi(self.login_name) response = send_gift_api.get({ 'room_id': self.room_id, 'gift_id': self.noble_gift_id, 'gift_count': 1, 'currency': 'gold' }) if send_gift_api.get_code() == 100032: time.sleep(self.time_sleep) self.count += 1 else: self.assertEqual(send_gift_api.get_code(), 0) self.assertEqual( json.loads( response.content)['result']['identity_obj']['gold'], 0) break self.assertLess(self.count, self.max_count) consumption_api = ConsumptionApi(self.login_name) response = consumption_api.get() self.assertEqual(consumption_api.get_code(), 0) self.assertEqual( len(json.loads(response.content)['result']['consume_list']), 2) consume_list = json.loads( response.content)['result']['consume_list'][0] self.assertEqual(consume_list['user_id'], self.user_id) self.assertEqual(consume_list['type'], u'1') self.assertEqual(consume_list['gold'], self.gift_gold) self.assertEqual(consume_list['corresponding_id'], int(self.noble_gift_id)) self.assertEqual( consume_list['corresponding_name'], MysqlOperation().get_gift_details(self.noble_gift_id)['name']) self.assertEqual(consume_list['corresponding_num'], 1) self.assertEqual(consume_list['room_id'], self.room_id) self.assertEqual(consume_list['status'], 1) self.assertEqual(consume_list['behavior_desc'], u'送礼') self.assertEqual( consume_list['room_title'], MysqlOperation(room_id=self.room_id).get_room_details()['title']) self.assertEqual(consume_list['consumption_type'], u'%s金币' % self.gift_gold)
def test_send_gift_task(self): """ 测试完成送礼物任务并领取奖励 :return: """ mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=100) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.3) send_gift_ajax = LiveSendGift(self.user_mobile) send_gift_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'gift_id': 60, 'gift_count': 1, 'currency': 'gold' }) self.assertEqual(send_gift_ajax.get_resp_code(), 0) time.sleep(3) task_list_ajax = TaskListAjax(self.user_mobile) task_list_ajax.get() self.assertEqual(task_list_ajax.get_resp_code(), 0) task_list = task_list_ajax.get_resp_result()['task_list'] send_gift_task_obj = task_list[3] self.assertEqual(send_gift_task_obj['id'], 5) self.assertEqual(send_gift_task_obj['task_type'], 'daily') self.assertEqual(send_gift_task_obj['task_behavior'], 'send_gift') self.assertEqual(send_gift_task_obj['task_name'], '送礼') self.assertEqual(send_gift_task_obj['task_desc'], '送任意金额的礼物送500经验') self.assertEqual(send_gift_task_obj['task_num'], 1) self.assertEqual(send_gift_task_obj['task_icon'], '/images/heads/20160328093828364.png') self.assertEqual(send_gift_task_obj['unit'], '经验') user_task_obj = send_gift_task_obj['user_task_obj'] self.assertEqual(user_task_obj['id'], 0) self.assertEqual(user_task_obj['user_id'], self.user_id) self.assertEqual(user_task_obj['task_behavior'], 'send_gift') self.assertEqual(user_task_obj['num'], 1) self.assertEqual(user_task_obj['status'], 2) self.assertIn((datetime.datetime.now()).strftime("%Y-%m-%d %H:%M"), user_task_obj['last_modify_date']) task_award_config = send_gift_task_obj['task_award_config'] self.assertEqual(len(task_award_config), 1) self.assertEqual(task_award_config[0]['type'], 'exp') self.assertEqual(task_award_config[0]['id'], 0) self.assertEqual(task_award_config[0]['num'], 500) get_task_reward_ajax = GetTaskRewardAjax(self.user_mobile) get_task_reward_ajax.get({ 'task_behavior': 'send_gift', 'room_id': self.room_id, 'anchor_id': self.anchor_id }) self.assertEqual(get_task_reward_ajax.get_resp_code(), 0) task_rewards = get_task_reward_ajax.get_resp_result()['task_rewards'] self.assertEqual(task_rewards['upgrade'], 0) self.assertEqual(task_rewards['exp'], 500) identity_obj = get_task_reward_ajax.get_resp_result()['identity_obj'] self.assertEqual(identity_obj['user_rank'], 1) self.assertEqual(identity_obj['gold'], 0) self.assertEqual(identity_obj['diamond'], '0') self.assertEqual(identity_obj['user_experience'], 600) task_list_ajax = TaskListAjax(self.user_mobile) task_list_ajax.get() self.assertEqual(task_list_ajax.get_resp_code(), 0) task_list = task_list_ajax.get_resp_result()['task_list'] send_gift_task_obj = task_list[3] self.assertEqual(send_gift_task_obj['task_name'], '送礼') user_task_obj = send_gift_task_obj['user_task_obj'] self.assertEqual(user_task_obj['status'], 3) self.assertIn((datetime.datetime.now()).strftime("%Y-%m-%d %H:%M"), user_task_obj['last_modify_date'])
def action(self, **kwargs): guard_price = 0 guard_id = kwargs['guard_id'] user_rank = kwargs['user_rank'] sun_max_num = kwargs['sun_max_num'] anchor_rank = kwargs['anchor_rank'] following = kwargs['following'] expire_time_num = None guard_rank = None if guard_id == 1: guard_price = 588000 elif guard_id == 2: guard_price = 1176000 elif guard_id == 3: guard_price = 1764000 elif guard_id == 6: guard_price = 3528000 elif guard_id == 12: guard_price = 7056000 elif guard_id == 13: guard_price = 14112000 mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=guard_price) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) live_api = LiveApi(self.login_name) response = live_api.get({'room_id': self.room_id}) self.assertEqual(live_api.get_code(), 0) room_hot_num = json.loads( response.content)['result']['room_obj']['curr_hot_num'] if following: add_following_api = AddFollowingApi(self.login_name) response = add_following_api.get({'anchor_id': self.anchor_id}) self.assertEqual(add_following_api.get_code(), 0) self.assertEqual(add_following_api.get_response_message(), u'操作成功') self.assertEqual( json.loads(response.content)['result']['identity_obj'] ['has_followed'], 1) buy_guard_api = BuyGuardApi(self.login_name) response = buy_guard_api.get({ 'room_id': self.room_id, 'guard_id': guard_id, 'currency': 'gold' }) self.assertEqual(buy_guard_api.get_code(), 0) guard_list = json.loads(response.content)['result']['guard_list'] self.assertEqual(len(guard_list), 1) self.assertEqual(guard_list[0]['user_rank'], user_rank) self.assertEqual(guard_list[0]['user_experience_all'], guard_price) self.assertEqual(guard_list[0]['sun_resumed_time'], 180) self.assertEqual(guard_list[0]['sun_max_num'], sun_max_num) user_guard_obj = guard_list[0]['user_guard_obj'] self.assertEqual(user_guard_obj['user_id'], (self.user_id)) def assert_guard_obj(obj, guard_id): if guard_id == 1: guard_rank = 1 expire_time_num = range(28, 32) self.assertEqual(user_guard_obj['guard_rank'], guard_rank) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) elif guard_id == 2: guard_rank = 2 expire_time_num = range(59, 63) self.assertEqual(user_guard_obj['guard_rank'], guard_rank) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) elif guard_id in [3, 6]: guard_rank = 3 self.assertEqual(user_guard_obj['guard_rank'], guard_rank) if guard_id == 3: expire_time_num = range(89, 94) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) elif guard_id == 6: expire_time_num = range(183, 187) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) elif guard_id in [12, 13]: guard_rank = 4 self.assertEqual(user_guard_obj['guard_rank'], guard_rank) if guard_id == 12: expire_time_num = range(369, 373) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) elif guard_id == 13: expire_time_num = range(739, 745) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) assert_guard_obj(obj=user_guard_obj, guard_id=guard_id) intimacy_obj = guard_list[0]['intimacy_obj'] def assert_intimacy(obj, following, guard_id, identity=False): inti_dic = {} if guard_id == 1: inti_dic = { 'intimacy_experience': 113000, 'intimacy_rank': 7, 'level': 1, 'level_name': u'喜爱' } elif guard_id == 2: inti_dic = { 'intimacy_experience': 76000, 'intimacy_rank': 10, 'level': 1, 'level_name': u'喜爱' } elif guard_id == 3: inti_dic = { 'intimacy_experience': 264000, 'intimacy_rank': 11, 'level': 1, 'level_name': u'喜爱' } elif guard_id == 6: inti_dic = { 'intimacy_experience': 528000, 'intimacy_rank': 13, 'level': 1, 'level_name': u'喜爱' } elif guard_id == 12: inti_dic = { 'intimacy_experience': 56000, 'intimacy_rank': 15, 'level': 1, 'level_name': u'喜爱' } elif guard_id == 13: inti_dic = { 'intimacy_experience': 112000, 'intimacy_rank': 17, 'level': 2, 'level_name': u'真爱' } if following: self.assertEqual(obj['intimacy_experience'], inti_dic['intimacy_experience']) self.assertEqual(obj['intimacy_rank'], inti_dic['intimacy_rank']) intimacy_level_obj = obj['intimacy_level_obj'] self.assertEqual(intimacy_level_obj['level'], inti_dic['level']) self.assertEqual(intimacy_level_obj['level_name'], inti_dic['level_name']) if guard_id == 13: self.assertEqual(intimacy_level_obj['rank_start'], 16) self.assertEqual(intimacy_level_obj['rank_end'], 30) else: self.assertEqual(intimacy_level_obj['rank_start'], 1) self.assertEqual(intimacy_level_obj['rank_end'], 15) else: if identity: self.assertEqual(obj['intimacy_experience'], 0) self.assertEqual(obj['intimacy_rank'], 1) self.assertEqual(obj['intimacy_next_experience'], 10000) self.assertEqual(obj['intimacy_level_obj']['level'], 1) self.assertEqual(obj['intimacy_level_obj']['level_name'], u'喜爱') self.assertEqual(obj['intimacy_level_obj']['rank_start'], 1) self.assertEqual(obj['intimacy_level_obj']['rank_end'], 15) else: self.assertEqual(obj['intimacy_experience'], 0) self.assertEqual(obj['intimacy_rank'], 0) self.assertEqual(obj['intimacy_next_experience'], 0) self.assertIsNone(obj['intimacy_level_obj']) assert_intimacy(intimacy_obj, following, guard_id) identity_obj = json.loads(response.content)['result']['identity_obj'] identity_user_guard_obj = identity_obj['user_guard_obj'] self.assertEqual(identity_user_guard_obj['user_id'], (self.user_id)) assert_guard_obj(obj=identity_user_guard_obj, guard_id=guard_id) identity_intimacy_obj = json.loads( response.content)['result']['identity_obj']['intimacy_obj'] assert_intimacy(identity_intimacy_obj, following, guard_id, identity=True) if following: self.assertEqual(identity_obj['has_followed'], 1) else: self.assertEqual(identity_obj['has_followed'], 0) anchor_obj = json.loads( response.content)['result']['room_obj']['anchor_obj'] self.assertEqual(anchor_obj['id'], self.anchor_id) self.assertEqual(anchor_obj['anchor_rank'], anchor_rank) self.assertEqual(anchor_obj['sun_resumed_time'], 180) self.assertEqual(anchor_obj['sun_max_num'], 50) live_api = LiveApi(self.login_name) response = live_api.get({'room_id': self.room_id}) self.assertEqual(live_api.get_code(), 0) room_hot_num_after_buy = json.loads( response.content)['result']['room_obj']['curr_hot_num'] self.assertEqual(room_hot_num_after_buy - room_hot_num, guard_price) consumption_api = ConsumptionApi(self.login_name) response = consumption_api.get() self.assertEqual(consumption_api.get_code(), 0) self.assertEqual( len(json.loads(response.content)['result']['consume_list']), 1) consume_list = json.loads( response.content)['result']['consume_list'][0] self.assertEqual(consume_list['user_id'], self.user_id) self.assertEqual(consume_list['type'], u'3') self.assertEqual(consume_list['gold'], guard_price) self.assertEqual(consume_list['corresponding_id'], guard_id) self.assertEqual(consume_list['corresponding_name'], u'守护') self.assertEqual(consume_list['corresponding_num'], 1) self.assertEqual(consume_list['room_id'], self.room_id) self.assertEqual(consume_list['status'], 1) self.assertEqual(consume_list['behavior_desc'], u'购买守护') self.assertEqual( consume_list['room_title'], MysqlOperation(room_id=self.room_id).get_room_details()['title']) self.assertEqual(consume_list['consumption_type'], u'%s金币' % guard_price) my_guard_api = MyGuardApi(self.login_name) response = my_guard_api.get() self.assertEqual(my_guard_api.get_code(), 0) guard_list = json.loads(response.content)['result']['guard_list'] self.assertEqual(len(guard_list), 1) self.assertEqual(guard_list[0]['anchor_id'], self.anchor_id) if guard_id == 1: guard_rank = 1 expire_time_num = 31 elif guard_id == 2: guard_rank = 2 expire_time_num = 62 elif guard_id in [3, 6]: guard_rank = 3 if guard_id == 3: expire_time_num = 93 elif guard_id == 6: expire_time_num = 186 elif guard_id in [12, 13]: guard_rank = 4 if guard_id == 12: expire_time_num = 372 elif guard_id == 13: expire_time_num = 744 expire_time = ( datetime.datetime.now() + datetime.timedelta(days=+expire_time_num)).strftime("%Y-%m-%d") self.assertIn(expire_time, guard_list[0]['expire_time']) self.assertEqual(guard_list[0]['guard_rank'], guard_rank) room_obj = guard_list[0]['room_obj'] self.assertEqual(room_obj['id'], self.room_id) self.assertEqual(room_obj['room_type'], 1) self.assertEqual(room_obj['room_style'], 1) self.assertEqual(room_obj['room_style_extend'], 0) guard_list_anchor_obj = room_obj['anchor_obj'] self.assertEqual(guard_list_anchor_obj['id'], self.anchor_id) self.assertEqual(guard_list_anchor_obj['anchor_rank'], anchor_rank) if guard_id in [1, 2, 3, 12]: enter_room_api = EnterRoomApi(self.login_name) response = enter_room_api.get({'room_id': self.room_id}) self.assertEqual(enter_room_api.get_code(), 0) ani_obj = json.loads( response.content )['result']['enter_room_message']['msg']['obj']['ani_obj'] self.assertEqual(ani_obj['ani_type'], u'entry_guard') if guard_id == 1: self.assertEqual(ani_obj['ani_id'], 1) elif guard_id == 2: self.assertEqual(ani_obj['ani_id'], 2) elif guard_id == 3: self.assertEqual(ani_obj['ani_id'], 3) elif guard_id == 12: self.assertEqual(ani_obj['ani_id'], 4) self.assertEqual(ani_obj['ani_num'], 0) self.assertIsNone(ani_obj['category_type'])
def test_game_center(self): """ 测试游戏大厅接口用户信息 :return: """ login_api = LoginApi() login_resp = login_api.login(self.user_mobile, only_get_identity=False) self.assertEqual(login_api.get_code(), 0) session_id = json.loads(login_resp.content)['result']['session_id'] driver = webdriver.PhantomJS() driver.get( url='https://hall.game.dwtv.tv/enter/gamecenter?session_id={0}'. format(session_id), ) page_source = driver.page_source p1 = r"(?<=identity:\").+?(?=\",)" pattern1 = re.compile(p1) matcher1 = re.search(pattern1, page_source) identity = matcher1.group(0) mysql_opeartion = MysqlOperation(user_id=self.user_id) mysql_opeartion.fix_user_account(gold_num=2000, diamond_num=1000) mysql_opeartion.fix_user_rank_and_experience(user_rank=12, experience_all=2000000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(1) game_list_api = requests.get( url='https://hall.game.dwtv.tv/lobby/game?identity={0}'.format( identity)) response = json.loads(game_list_api.content) self.assertEqual(response['code'], 0) self.assertEqual(response['result']['api_url'], u'http://api.dawang.tv') self.assertEqual(response['result']['img_url'], u'http://api.dawang.tv') user_obj = response['result']['user_obj'] self.assertEqual( user_obj['nickname'], MysqlOperation( user_id=self.user_id).get_user_details()['nickname']) self.assertEqual(user_obj['username'], ('dw_' + self.user_id)) self.assertEqual(user_obj['gender'], 1) self.assertEqual(user_obj['icon'], u"/files/images/heads/00/49/20170802110412935.jpeg") self.assertIsNotNone(user_obj['identity']) self.assertEqual(user_obj['month_end_time'], 0) self.assertIsNotNone(user_obj['token']) self.assertEqual(user_obj['gold'], u'1000') self.assertEqual(user_obj['diamond'], 2000) self.assertEqual(user_obj['user_level'], 12) self.assertEqual(user_obj['user_exp'], 0) self.assertEqual(user_obj['vip_level'], 0) exchange_api = ExchangeApi(self.user_mobile) response = exchange_api.get({ 'gold': 1000, 'diamond': 10000, 'product_id': 112 }) self.assertEqual(exchange_api.get_code(), 0) self.assertEqual(json.loads(response.content)['result']['gold'], 1000) self.assertEqual( json.loads(response.content)['result']['diamond'], 10000) self.assertEqual( json.loads( response.content)['result']['identity_obj']['user_rank'], 12) self.assertEqual( json.loads( response.content)['result']['identity_obj']['user_experience'], 1000) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'], 1000) self.assertEqual(identity_obj['diamond'], u'11000') login_api = LoginApi() login_resp = login_api.login(self.user_mobile, only_get_identity=False) self.assertEqual(login_api.get_code(), 0) session_id = json.loads(login_resp.content)['result']['session_id'] driver = webdriver.PhantomJS() driver.get( url='https://hall.game.dwtv.tv/enter/gamecenter?session_id={0}'. format(session_id), ) page_source = driver.page_source p1 = r"(?<=identity:\").+?(?=\",)" pattern1 = re.compile(p1) matcher1 = re.search(pattern1, page_source) identity = matcher1.group(0) game_list_api = requests.get( url='https://hall.game.dwtv.tv/lobby/game?identity={0}'.format( identity)) response = json.loads(game_list_api.content) self.assertEqual(response['code'], 0) user_obj = response['result']['user_obj'] self.assertIsNotNone(user_obj['identity']) self.assertEqual(user_obj['gold'], u'11000') self.assertEqual(user_obj['diamond'], 1000) self.assertEqual(user_obj['user_level'], 12) self.assertEqual(user_obj['user_exp'], 1000) self.assertEqual(user_obj['vip_level'], 0)
def test_quiz_win(self): """ 测试竞猜消费记录和金币获取记录 :return: """ set_questions_api = SetQuestionsApi(self.game_anchor_login_name) set_questions_api.get({'room_id': self.game_room, 'question': self.questions, 'option_a': self.option_a, 'option_b': self.option_b}) self.assertEqual(set_questions_api.get_code(), 0) db_questions = MysqlOperation(room_id=self.game_room).get_questions() self.assertEqual(len(db_questions),1) question_ids = [] for x in db_questions: question_ids.append(x['id']) question_ids_json = json.dumps(question_ids) start_quiz_api = StartQuizApi(self.game_anchor_login_name) start_quiz_api.get({'room_id':self.game_room,'question_bank_ids':question_ids_json}) self.assertEqual(start_quiz_api.get_code(),0) quiz_questions_id = MysqlOperation(room_id=self.game_room).get_quiz_questions()[0]['id'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=50000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name) quiz_api.get({'question_id': quiz_questions_id, 'gold': '50000', 'option': 'A'}) self.assertEqual(quiz_api.get_code(), 0) mysql_operation = MysqlOperation(user_id=self.user_id_two) mysql_operation.fix_user_account(gold_num=20000) RedisHold().clean_redis_user_detail(self.user_id_two) time.sleep(self.time_sleep) quiz_api = QuizApi(self.user_login_name_two) quiz_api.get({'question_id': quiz_questions_id, 'gold': '20000', 'option': 'B'}) self.assertEqual(quiz_api.get_code(), 0) get_questions_api = GetQuestionsApi(self.game_anchor_login_name) response = get_questions_api.get({'room_id': self.game_room}) self.assertEqual(get_questions_api.get_code(), 0) question_list = json.loads(response.content)['result']['question_list'] self.assertEqual(len(question_list), 1) question_obj = json.loads(response.content)['result']['question_list'][0] self.assertEqual(int(question_obj['id']), int(quiz_questions_id)) self.assertEqual(question_obj['room_id'], self.game_room) self.assertEqual(question_obj['question'], self.questions) self.assertEqual(question_obj['total_pool'], 70000) self.assertEqual(question_obj['init_pool'], u'0') self.assertEqual(question_obj['currency'], u'gold') self.assertEqual(question_obj['status'], u'1') self.assertEqual(question_obj['my_result'], 0) self.assertIsNone(question_obj['result']) options = question_obj['options'] self.assertEqual(options['A']['odds'], u'1.4') self.assertEqual(options['A']['option_amount'], u'50000') self.assertEqual(options['A']['user_amount'], 0) self.assertEqual(options['A']['persent'], 0.025) self.assertEqual(options['B']['odds'], u'3.5') self.assertEqual(options['B']['option_amount'], u'20000') self.assertEqual(options['B']['user_amount'], 0) self.assertEqual(options['B']['persent'], 0.01) stop_quiz_api = StopQuizApi(self.game_anchor_login_name) stop_quiz_api.get({'question_id':quiz_questions_id}) self.assertEqual(stop_quiz_api.get_code(),0) get_questions_api = GetQuestionsApi(self.game_anchor_login_name) response = get_questions_api.get({'room_id': self.game_room}) self.assertEqual(get_questions_api.get_code(), 0) self.assertEqual(json.loads(response.content)['result']['question_list'][0]['status'],2) now_time_format = datetime.datetime.now().strftime("%Y-%m-%d") self.assertIn(now_time_format, json.loads(response.content)['result']['question_list'][0]['end_time']) set_answer_api = SetAnswerApi(self.game_anchor_login_name) response = set_answer_api.get({'question_id': quiz_questions_id,'option':'A'}) self.assertEqual(set_answer_api.get_code(),0) question_obj = json.loads(response.content)['result']['question_obj'] self.assertEqual(question_obj['status'],3) self.assertEqual(question_obj['result'],u'A') time.sleep(2) consum_api = ConsumptionApi(self.user_login_name) response = consum_api.get() self.assertEqual(consum_api.get_code(),0) consume_list = json.loads(response.content)['result']['consume_list'] self.assertEqual(len(consume_list),1) self.assertEqual(consume_list[0]['user_id'],self.user_id) self.assertIn(now_time_format,consume_list[0]['create_time']) self.assertEqual(consume_list[0]['type'],u'101') self.assertEqual(consume_list[0]['gold'],50000) self.assertEqual(consume_list[0]['corresponding_id'],quiz_questions_id) self.assertEqual(consume_list[0]['corresponding_name'],u'A') self.assertEqual(consume_list[0]['corresponding_num'],0) self.assertEqual(consume_list[0]['room_id'],self.game_room) self.assertEqual(consume_list[0]['status'],1) self.assertEqual(consume_list[0]['behavior_desc'],u'竞猜下注') self.assertEqual(consume_list[0]['consumption_type'],u'50000金币') identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'],70000) self.assertEqual(identity_obj['diamond'],u'0') consum_api = ConsumptionApi(self.user_login_name_two) response = consum_api.get() self.assertEqual(consum_api.get_code(),0) consume_list = json.loads(response.content)['result']['consume_list'] self.assertEqual(len(consume_list),1) self.assertEqual(consume_list[0]['user_id'],self.user_id_two) self.assertIn(now_time_format,consume_list[0]['create_time']) self.assertEqual(consume_list[0]['type'],u'101') self.assertEqual(consume_list[0]['gold'],20000) self.assertEqual(consume_list[0]['corresponding_id'],quiz_questions_id) self.assertEqual(consume_list[0]['corresponding_name'],u'B') self.assertEqual(consume_list[0]['corresponding_num'],0) self.assertEqual(consume_list[0]['room_id'],self.game_room) self.assertEqual(consume_list[0]['status'],1) self.assertEqual(consume_list[0]['behavior_desc'],u'竞猜下注') self.assertEqual(consume_list[0]['consumption_type'],u'20000金币') identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'],0) self.assertEqual(identity_obj['diamond'],u'0') gold_account_api = GoldAccountApi(self.user_login_name) response = gold_account_api.get() self.assertEqual(gold_account_api.get_code(),0) account_list = json.loads(response.content)['result']['account_list'] self.assertEqual(len(account_list),1) self.assertEqual(account_list[0]['user_id'],self.user_id) self.assertEqual(account_list[0]['type'],u'102') self.assertEqual(account_list[0]['gold'],70000) self.assertEqual(account_list[0]['corresponding_id'],quiz_questions_id) self.assertEqual(account_list[0]['corresponding_name'],u'A') self.assertEqual(account_list[0]['corresponding_num'],0) self.assertEqual(account_list[0]['status'],1) self.assertEqual(account_list[0]['money'],0) self.assertEqual(account_list[0]['behavior_desc'],u'竞猜奖励') self.assertEqual(account_list[0]['consumption_type'],u'70000金币') self.assertEqual(account_list[0]['room_id'],self.game_room) gold_account_api = GoldAccountApi(self.user_login_name_two) response = gold_account_api.get() self.assertEqual(gold_account_api.get_code(),0) account_list = json.loads(response.content)['result']['account_list'] self.assertEqual(len(account_list),0)
def renew_action(self, **kwargs): guard_price = kwargs['guard_price'] first_guard_id = kwargs['first_guard_id'] second_guard_id = kwargs['second_guard_id'] following = kwargs['following'] user_rank = kwargs['user_rank'] sun_max_num = kwargs['sun_max_num'] anchor_rank = kwargs['anchor_rank'] guard_rank = kwargs['guard_rank'] expire_time_num = kwargs['expire_time_num'] mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=guard_price) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) buy_guard_api = BuyGuardApi(self.login_name) buy_guard_api.get({ 'room_id': self.room_id, 'guard_id': first_guard_id, 'currency': 'gold' }) self.assertEqual(buy_guard_api.get_code(), 0) time.sleep(0.5) renew_buy_guard = BuyGuardApi(self.login_name) response = renew_buy_guard.get({ 'room_id': self.room_id, 'guard_id': second_guard_id, 'currency': 'gold' }) self.assertEqual(renew_buy_guard.get_code(), 0) guard_list = json.loads(response.content)['result']['guard_list'] self.assertEqual(len(guard_list), 1) self.assertEqual(guard_list[0]['user_rank'], user_rank) self.assertEqual(guard_list[0]['user_experience_all'], guard_price) self.assertEqual(guard_list[0]['sun_resumed_time'], 180) self.assertEqual(guard_list[0]['sun_max_num'], sun_max_num) user_guard_obj = guard_list[0]['user_guard_obj'] self.assertEqual(user_guard_obj['user_id'], (self.user_id)) self.assertEqual(user_guard_obj['guard_rank'], guard_rank) self.assertIn(user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(user_guard_obj['rest_time_str'], expire_time_num_format) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['user_rank'], user_rank) self.assertEqual(identity_obj['gold'], 0) self.assertEqual(identity_obj['diamond'], u'0') self.assertEqual(identity_obj['sun_max_num'], sun_max_num) self.assertEqual(identity_obj['has_followed'], 0) identity_user_guard_obj = identity_obj['user_guard_obj'] self.assertEqual(identity_user_guard_obj['user_id'], (self.user_id)) self.assertEqual(identity_user_guard_obj['guard_rank'], guard_rank) self.assertIn(identity_user_guard_obj['rest_time_int'], expire_time_num) expire_time_num_format = [] for x in expire_time_num: expire_time_num_format.append(u'{0}天'.format(x)) self.assertIn(identity_user_guard_obj['rest_time_str'], expire_time_num_format) anchor_obj = json.loads( response.content)['result']['room_obj']['anchor_obj'] self.assertEqual(anchor_obj['anchor_rank'], anchor_rank) self.assertEqual(anchor_obj['sun_resumed_time'], 180) self.assertEqual(anchor_obj['sun_max_num'], 50)