def test_buy_noble_noble_num_error(self): """ 测试请求接口贵族月数不正确 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': 1, 'num': 111, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 100032) self.assertEqual(buy_noble_ajax.get_resp_message(), '账户金币不足')
def test_buy_noble_noble_currency_error(self): """ 测试请求接口贵族货币类型不正确 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': 1, 'num': 1, 'currency': 'abc' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 460004) self.assertEqual(buy_noble_ajax.get_resp_message(), '请选择货币类型')
def test_buy_noble_noble_num_null(self): """ 测试请求接口贵族月数为空 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': 1, 'num': None, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 402029) self.assertEqual(buy_noble_ajax.get_resp_message(), '贵族购买数量有误')
def test_buy_noble_noble_id_error(self): """ 测试请求接口贵族ID不存在 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': 99, 'num': 1, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 402025) self.assertEqual(buy_noble_ajax.get_resp_message(), '贵族信息不存在')
def test_buy_noble_room_id_error(self): """ 测试请求接口房间ID不存在 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': '909090', 'anchor_id': self.anchor_id, 'noble_id': 1, 'num': 1, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 801017) self.assertEqual(buy_noble_ajax.get_resp_message(), '房间信息不存在')
def test_buy_noble_room_id_null(self): """ 测试请求接口房间ID为空 :return: """ buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': None, 'anchor_id': self.anchor_id, 'noble_id': 1, 'num': 1, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 402000) self.assertEqual(buy_noble_ajax.get_resp_message(), '房间ID不能为空')
def renew_action(self, **kwargs): first_noble_gold = kwargs['first_noble_gold'] first_noble_id = kwargs['first_noble_id'] second_noble_gold = kwargs['second_noble_gold'] second_noble_id = kwargs['second_noble_id'] second_user_rank = kwargs['second_user_rank'] second_user_exp = kwargs['second_user_exp'] # 用户加钱 mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=first_noble_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) # 购买贵族 buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': first_noble_id, 'num': 1, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 0) result = buy_noble_ajax.get_resp_result() identity_obj = result['identity_obj'] # 校验用户余额 self.assertEqual(identity_obj['gold'], 0) self.assertEqual(identity_obj['noble_rank'], first_noble_id) # 校验有效天数 self.assertEqual(identity_obj['noble_rest_time_int'], self.one_month) self.assertEqual(identity_obj['noble_rest_time_str'], '{0}天'.format(self.one_month)) time.sleep(1) # 用户加钱 mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=second_noble_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.5) # 购买贵族 buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': second_noble_id, 'num': 1, 'currency': 'gold' }) if second_noble_id < first_noble_id: self.assertEqual(buy_noble_ajax.get_resp_code(), 402026) self.assertEqual(buy_noble_ajax.get_resp_message(), '您选择的贵族低于您当前已拥有的贵族等级,无法开通') else: self.assertEqual(buy_noble_ajax.get_resp_code(), 0) result = buy_noble_ajax.get_resp_result() identity_obj = result['identity_obj'] # 校验用户余额 self.assertEqual(identity_obj['gold'], 0) # 校验贵族等级 if second_noble_id > first_noble_id: self.assertEqual(identity_obj['noble_rank'], second_noble_id) # 校验有效天数 self.assertEqual(identity_obj['noble_rest_time_int'], self.one_month) self.assertEqual(identity_obj['noble_rest_time_str'], '{0}天'.format(self.one_month)) self.assertEqual(identity_obj['user_rank'], second_user_rank) self.assertEqual(identity_obj['user_experience'], second_user_exp) else: self.assertEqual(identity_obj['noble_rank'], first_noble_id) # 校验有效天数 self.assertEqual(identity_obj['noble_rest_time_int'], self.two_month) self.assertEqual(identity_obj['noble_rest_time_str'], '{0}天'.format(self.two_month)) self.assertEqual(identity_obj['user_rank'], second_user_rank) self.assertEqual(identity_obj['user_experience'], second_user_exp)
def buy_noble_action(self, **kwargs): days = None noble_gold = kwargs['noble_gold'] noble_id = kwargs['noble_id'] noble_num = kwargs['noble_num'] user_rank = kwargs['user_rank'] user_experience = kwargs['user_experience'] if noble_num == 1: days = self.one_month elif noble_num == 2: days = self.two_month elif noble_num == 3: days = self.three_month elif noble_num == 6: days = self.six_month 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'] # 用户加钱 mysql_operation = MysqlOperation(user_id=self.user_id) mysql_operation.fix_user_account(gold_num=noble_gold) RedisHold().clean_redis_user_detail(self.user_id) time.sleep(0.3) # 购买贵族 buy_noble_ajax = BuyNobleAjax(self.user_mobile) buy_noble_ajax.get({ 'room_id': self.room_id, 'anchor_id': self.anchor_id, 'noble_id': noble_id, 'num': noble_num, 'currency': 'gold' }) self.assertEqual(buy_noble_ajax.get_resp_code(), 0) result = buy_noble_ajax.get_resp_result() identity_obj = result['identity_obj'] # 校验用户余额 self.assertEqual(identity_obj['gold'], 0) # 校验用户等级、经验值 self.assertEqual(identity_obj['user_rank'], user_rank) self.assertEqual(identity_obj['user_experience'], user_experience) # 校验贵族等级 self.assertEqual(identity_obj['noble_rank'], noble_id) # 校验有效天数 self.assertEqual(identity_obj['noble_rest_time_int'], days) self.assertEqual(identity_obj['noble_rest_time_str'], '{0}天'.format(days)) noble_expiretime = identity_obj['noble_expiretime'] self.assertIn( (datetime.datetime.now() + datetime.timedelta(days=+days)).strftime("%Y-%m-%d %H:%M"), noble_expiretime) # 校验消费记录 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'2') self.assertEqual(consume_list[0]['gold'], noble_gold) self.assertEqual(consume_list[0]['corresponding_id'], noble_id) 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(noble_gold)) self.assertIsNone(consume_list[0]['gift_obj']) self.assertIsNone(consume_list[0]['behavior']) time.sleep(0.3) 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() after_buy_noble_hot_num = live_result['room_obj']['curr_hot_num'] self.assertEqual(after_buy_noble_hot_num, hot_num) identity_obj = live_result['identity_obj'] # 校验用户余额 self.assertEqual(identity_obj['gold'], 0) # 校验用户等级、经验值 self.assertEqual(identity_obj['user_rank'], user_rank) self.assertEqual(identity_obj['user_experience'], user_experience) # 校验贵族等级 self.assertEqual(identity_obj['noble_rank'], noble_id) # 校验有效天数 self.assertEqual(identity_obj['noble_rest_time_int'], days) self.assertEqual(identity_obj['noble_rest_time_str'], '{0}天'.format(days)) noble_expiretime = identity_obj['noble_expiretime'] self.assertIn( (datetime.datetime.now() + datetime.timedelta(days=+days)).strftime("%Y-%m-%d %H:%M"), noble_expiretime) # 校验进场动画 msg = live_result['enter_room_message']['msg'] self.assertEqual(msg['m_action'], 'system_room') self.assertEqual(msg['m_switch'], 'coming') self.assertEqual(msg['from_user_id'], '0') self.assertEqual(msg['from_refer_type'], '2') user_obj = msg['user_obj'] self.assertEqual(user_obj['noble_rank'], noble_id) ani_obj = msg['obj']['ani_obj'] self.assertEqual(ani_obj['ani_type'], 'entry_noble') self.assertEqual(ani_obj['ani_id'], noble_id) self.assertEqual(ani_obj['ani_num'], 0) self.assertIsNone(ani_obj['category_type']) self.assertEqual(msg['obj']['msg_content'], '来了')