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 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_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 tearDown(self, user_id=None, anchor_id=None): super(TestRegisterAjax, self).tearDown() RedisHold().clean_redis_user_detail( MysqlOperation(mobile=self.mobile).get_user_id()) Redis().clean_user_bean( MysqlOperation(mobile=self.mobile).get_user_id()) MysqlOperation(mobile=self.mobile).delete_user()
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 send_red_package_teardown(self, room_id, user_id, anchor_id): red_packet_ids = MysqlOperation(room_id=room_id).get_red_packet_ids() MysqlOperation(room_id=room_id).clean_red_packet() MysqlOperation(user_id=user_id, anchor_id=anchor_id).clean_send_gift() for i in red_packet_ids: Redis().clean_red_packet(room_id, i['id']) RedisHold().clean_redis_room_detail(room_id, anchor_id)
def update_nickname_api_teardown(self, user_id, rename_num, nick_name): #修改昵称 mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_nickname(nickname=nick_name) mysql_operation.fix_user_update_nick_num(rename_num=rename_num) # mysql_operation.clean_user_account_log() RedisHold().clean_redis_user_detail(user_id)
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 change_mobile_teardown(self, new_mobile, login_name, mobile_phone): #修改手机号 user_id = MysqlOperation(mobile=new_mobile).get_user_id() mysql_operation = MysqlOperation(user_id=user_id) mysql_operation.fix_user_bind_mobile(login_name, mobile_phone, phone_confirm=1) RedisHold().clean_redis_user_detail(user_id)
def setUp(self,*args): super(TestAnchorGroupRobApi,self).setUp(user_id=[self.user_id,self.rob_user_id],anchor_id=anchor_id) for id in [self.user_id,self.rob_user_id]: TearDown().guard_teardown(user_id=id, anchor_id=anchor_id) mysql_operation = MysqlOperation(user_id=id) mysql_operation.clean_user_anchor_group() MysqlOperation(user_id=id).clean_user_anchor_group() Redis().clean_user_buy_guard(id, anchor_id) RedisHold().clean_redis_room_detail(room_id, anchor_id)
def tearDown(self, *args): super(TestSendGiftTaskApi, self).tearDown(user_id=self.user_id, anchor_id=self.anchor_id) MysqlOperation(user_id=self.user_id).clean_user_task() Redis().clean_user_task(self.user_id) mysql_operation = MysqlOperation(user_id=self.user_id, anchor_id=self.anchor_id) mysql_operation.clean_send_gift() RedisHold().clean_redis_room_detail(self.room_id, self.anchor_id)
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 setUp(self,*args): super(TestNormalAdminAddBlackApi,self).setUp() for x in [self.user_id,self.high_admin_user_id]: del_super_visor_api = DelSuperVisorApi(self.anchor_login_name) del_super_visor_api.get({'user_id': x, 'anchor_id': self.anchor_id}) for x in [self.user_id,self.other_anchor_id]: MysqlOperation(user_id=x).clean_black_user() Redis().clean_black_user(self.anchor_id) RedisHold().clean_redis_user_detail(self.user_id)
def test_exchange_success(self): """ 测试兑换成功+消费记录 :return: """ gold_num = 1000 MysqlOperation(user_id=self.user_id).fix_user_account( gold_num=gold_num) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(self.time_sleep) exchange_api = ExchangeApi(self.user_mobile) response = exchange_api.get({ 'gold': gold_num, 'diamond': gold_num * self.ratio, 'product_id': 112 }) self.assertEqual(exchange_api.get_code(), 0) self.assertEqual( json.loads(response.content)['result']['gold'], gold_num) self.assertEqual( json.loads(response.content)['result']['diamond'], gold_num * self.ratio) self.assertEqual( json.loads( response.content)['result']['identity_obj']['user_rank'], 1) self.assertEqual( json.loads( response.content)['result']['identity_obj']['user_experience'], gold_num) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'], 0) self.assertEqual(int(identity_obj['diamond']), int(gold_num * self.ratio)) time.sleep(1) # 消费记录 consumption_api = ConsumptionApi(self.user_mobile) 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), 1) self.assertEqual(consume_list[0]['gold'], gold_num) self.assertEqual(consume_list[0]['user_id'], self.user_id) self.assertEqual(consume_list[0]['type'], u'6') self.assertEqual(consume_list[0]['corresponding_id'], 0) self.assertEqual(consume_list[0]['corresponding_num'], 1) self.assertEqual(consume_list[0]['corresponding_name'], u'大王豆') self.assertEqual(consume_list[0]['room_id'], u'') self.assertEqual(consume_list[0]['room_title'], u'-- --') self.assertEqual(consume_list[0]['status'], 1) self.assertEqual(consume_list[0]['consumption_type'], u'%s金币' % gold_num) self.assertEqual(consume_list[0]['behavior_desc'], u'大王豆转换')
def test_buy_sun_following_success(self): """ 测试关注主播情况下购买太阳成功 :return: """ follow_api = AddFollowingApi(self.user_mobile) follow_api.get({'anchor_id': self.anchor_id}) self.assertEqual(follow_api.get_code(), 0) live_api = LiveApi(self.user_mobile) response = live_api.get({'room_id': self.room_id}) self.assertEqual(live_api.get_code(), 0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['user_experience'], 0) intimacy_obj = identity_obj['intimacy_obj'] self.assertEqual(intimacy_obj['intimacy_experience'], 0) sun_num = json.loads(response.content)['result']['room_obj']['sun_num'] MysqlOperation(user_id=self.user_id).fix_user_account(gold_num=2000) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) buy_sun_api = BuySunApi(self.user_mobile) response = buy_sun_api.get({'room_id': self.room_id}) self.assertEqual(buy_sun_api.get_code(), 0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'], 0) # 校验用户剩余金币 self.assertEqual(identity_obj['sun_num'], 0) # 校验用户剩余太阳数量不变 self.assertEqual(identity_obj['user_experience'], 2000) # 校验用户经验值增加 intimacy_obj = identity_obj['intimacy_obj'] self.assertEqual(intimacy_obj['intimacy_experience'], 200) # 校验用户亲密度增加 after_sun_num = json.loads( response.content)['result']['room_obj']['sun_num'] self.assertEqual(after_sun_num - sun_num, 20) # 校验主播获得的太阳数量增加 consum_api = ConsumptionApi(self.user_mobile) 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.assertEqual(consume_list[0]['type'], u'5') self.assertEqual(consume_list[0]['gold'], 2000) self.assertEqual(consume_list[0]['corresponding_id'], 0) self.assertEqual(consume_list[0]['corresponding_name'], u'太阳') 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]['consumption_type'], u'2000金币')
def test_send_package_gift_success(self): """ 测试送出为你伴舞礼物 :return: """ add_following_api = AddFollowingApi(self.login_name) 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'操作成功') 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'] RedisHold().add_user_package_gift(self.user_id, gift_id=self.package_gift_id, gift_num=1) 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.package_gift_id, 'gift_count': 1, 'currency': 'bag' }) self.assertEqual(send_gift_api.get_code(), 0) self.assertEqual( json.loads(response.content)['result']['identity_obj']['gold'], 0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['gold'], 0) self.assertEqual(identity_obj['user_rank'], 3) self.assertEqual(identity_obj['user_experience'], 0) intimacy_obj = identity_obj['intimacy_obj'] self.assertEqual(intimacy_obj['intimacy_rank'], 4) self.assertEqual(intimacy_obj['intimacy_experience'], 0) intimacy_level_obj = intimacy_obj['intimacy_level_obj'] self.assertEqual(intimacy_level_obj['level'], 1) anchor_obj = json.loads( response.content)['result']['room_obj']['anchor_obj'] self.assertEqual(anchor_obj['anchor_rank'], 2) self.assertEqual(anchor_obj['anchor_experience'], 50000) 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_after_send = json.loads( response.content)['result']['room_obj']['curr_hot_num'] self.assertEqual(room_hot_num_after_send - room_hot_num, 100000)
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 setUp(self, *args): super(TestAnchorGroupAnchorNumApi, self).setUp(user_id=self.user_id, anchor_id=anchor_id) TearDown().guard_teardown(login_name=self.user_login_name, user_id=self.user_id, anchor_id=anchor_id) mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.clean_user_anchor_group() Redis().clean_anchor_group(self.user_id, anchor_id=anchor_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 tearDown(self,*args): super(TestAnchorGroupWithdrawApi,self).tearDown(user_id=self.user_id,anchor_id=anchor_id) TearDown().guard_teardown(login_name=self.user_login_name,user_id=self.user_id,anchor_id=anchor_id) user_id = self.user_id mysql_operation = MysqlOperation(user_id=user_id,anchor_id=anchor_id) mysql_operation.clean_user_anchor_group() Redis().clean_anchor_group(user_id, anchor_id=anchor_id) mysql_operation.clean_user_anchor_group() Redis().clean_user_buy_guard(user_id, anchor_id) mysql_operation.clean_send_gift() RedisHold().clean_redis_room_detail(room_id, anchor_id)
def tearDown(self, *args): super(TestAddAnchorToGroupApi, self).tearDown(user_id=self.user_id, anchor_id=anchor_id) TearDown().guard_teardown(login_name=self.user_login_name, user_id=self.user_id, anchor_id=anchor_id) Redis().clean_anchor_group(self.user_id, anchor_id) for i in [self.user_id, anchor_id]: MysqlOperation(user_id=i).clean_user_anchor_group() Redis().clean_user_buy_guard(self.user_id, anchor_id) RedisHold().clean_redis_room_detail(room_id, anchor_id)
def tearDown(self, *args): super(TestAnchorAddBlackApi, self).tearDown() del_super_visor_api = DelSuperVisorApi(self.anchor_login_name) del_super_visor_api.get({ 'user_id': self.user_id, 'anchor_id': self.anchor_id }) for x in [self.user_id, self.other_anchor_id]: MysqlOperation(user_id=x).clean_black_user() Redis().clean_black_user(self.anchor_id) RedisHold().clean_redis_user_detail(self.user_id)
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_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 init_user_and_room(self, user_id, anchor_id): """ 初始化用户信息或房间信息 :param user_id: :param room_id: :return: """ if user_id: logging.info('正在初始化用户信息...') if isinstance(user_id, (str, int)): MysqlOperation(user_id=user_id).fix_user_account().fix_user_rank_and_experience(). \ clean_user_exp_log().clean_user_account_log().clean_user_intimacy_rank().clean_user_contribution() RedisHold().clean_redis_user_detail(user_id) elif isinstance(user_id, (list, tuple, set)): for i in user_id: MysqlOperation(user_id=i).fix_user_account().fix_user_rank_and_experience(). \ clean_user_exp_log().clean_user_account_log().clean_user_intimacy_rank().clean_user_contribution() RedisHold().clean_redis_user_detail(i) logging.info('初始化用户信息完成!') else: logging.info('无需初始化用户信息!') if anchor_id: logging.info('正在初始化主播信息...') if isinstance(anchor_id, (str, int)): MysqlOperation( anchor_id=anchor_id, user_id=anchor_id).fix_anchor_rank_and_exp( ).clean_user_account_log().fix_user_rank_and_experience() RedisHold().clean_redis_user_detail(anchor_id) elif isinstance(anchor_id, (list, tuple, set)): for i in anchor_id: MysqlOperation(anchor_id=anchor_id, user_id=anchor_id).fix_anchor_rank_and_exp( ).clean_user_account_log( ).fix_user_rank_and_experience() RedisHold().clean_redis_user_detail(i) logging.info('初始化主播信息完成!') else: logging.info('无需初始化主播信息!')
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_user_get_sun_reach_the_limit(self): """ 测试太阳达到上限后请求接口 :return: """ MysqlOperation(user_id=self.user_id).fix_user_sun_num(sun_num=50) RedisHold().clean_redis_user_detail(self.user_id) user_get_sun = UserGetSunAjax(self.user_mobile) user_get_sun.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id }) self.assertEqual(user_get_sun.get_resp_code(), 402016) self.assertEqual(user_get_sun.get_resp_message(), '到达上限')
def test_open_anchor_rank_insufficient_balance(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) 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(), 200502) self.assertEqual(open_anchor_group.get_resp_message(), u'金币不足,是否立即充值')
def test_buy_sun_gold_low(self): """ 测试请求接口账户金币不足 :return: """ MysqlOperation(user_id=self.user_id).fix_user_account(gold_num=1999) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) buy_sun_api = BuySunApi(self.user_mobile) buy_sun_api.get({'room_id': self.room_id}) self.assertEqual(buy_sun_api.get_code(), 100032) self.assertEqual(buy_sun_api.get_response_message(), u'账户金币不足')