def test_bind_phone_image_code_is_error(self): """ 测试请求接口图形验证码错误 :return: """ send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) num = random.randint(1111, 9999) phone = '1580101' + str(num) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': phone, 'check_code': image_code }) self.assertEqual(send_sms_code_api.get_code(), 0) sms_code = MysqlOperation(mobile=phone).get_sms_code() bind_phone_api = BindPhoneApi(self.user_name) bind_phone_api.get({ 'phone': phone, 'code': sms_code, 'check_code': 1234 }) self.assertEqual(bind_phone_api.get_code(), 422107) self.assertEqual(bind_phone_api.get_response_message(), u'验证码错误,请重新输入')
def test_bind_phone_sms_code_error(self): """ 测试请求接口短信验证码错误 :return: """ send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) num = random.randint(1111, 9999) phone = '1580202' + str(num) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': phone, 'check_code': image_code }) self.assertEqual(send_sms_code_api.get_code(), 0) bind_phone_api = BindPhoneApi(self.user_name) bind_phone_api.get({ 'phone': phone, 'code': '123u', 'check_code': image_code }) self.assertEqual(bind_phone_api.get_code(), 400104) self.assertEqual(bind_phone_api.get_response_message(), u'验证码错误,请重新获取短信验证码')
def test_a_send_image_code_success(self): """ 获取图形验证码成功 """ image_code_api = ImageCodeApi() image_code_api.get({'device_id': self.device_id}) image_code = Redis().get_image_captcha(self.device_id) self.assertIsNotNone(image_code) self.assertEqual(len(image_code), 4)
def test_a_send_bind_sms_code_success(self): """ 测试发送绑定手机号短信验证码 """ send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': self.mobile2, 'check_code': image_code }) self.assertEqual(send_sms_code_api.get_code(), 0) sms_code = MysqlGet(mobile=self.mobile2).get_sms_code() self.assertIsNotNone(sms_code) self.assertEqual(len(sms_code), 4)
def test_bind_phone_success(self): """ 测试绑定手机号成功 :return: """ send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': self.bind_mobile, 'check_code': image_code}) self.assertEqual(send_sms_code_api.get_code(),0) sms_code = MysqlOperation(mobile=self.bind_mobile).get_sms_code() bind_phone_api = BindPhoneApi(self.user_name) response = bind_phone_api.get({'phone': self.bind_mobile, 'code': sms_code,'check_code':image_code}) self.assertEqual(bind_phone_api.get_code(),0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(self.bind_mobile,identity_obj['mobilephone']) self.assertEqual(self.bind_mobile,identity_obj['login_name'])
def test_bind_phone_failed_five_times(self): """ 测试绑定手机号当天只允许失败5次 :return: """ phone = None num = 1 flag = True image_code = None while flag: send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) phone = '133' + str(random.randint(11111111, 99999999)) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': phone, 'check_code': image_code }) if send_sms_code_api.get_code() in [400126, 400136]: continue else: bind_phone_api = BindPhoneApi(self.user_name) bind_phone_api.get({ 'phone': phone, 'code': 1234, 'check_code': image_code }) self.assertEqual(bind_phone_api.get_code(), 400104) self.assertEqual(bind_phone_api.get_response_message(), u'验证码错误,请重新获取短信验证码') num += 1 if num == 6: flag = False flag = True while flag: send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) phone = '130' + str(random.randint(11111111, 99999999)) image_code = Redis().get_image_captcha(settings.DEVICE_ID) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': phone, 'check_code': image_code }) if send_sms_code_api.get_code() in [400126, 400136]: continue else: self.assertEqual(send_sms_code_api.get_code(), 0) flag = False bind_phone_api = BindPhoneApi(self.user_name) bind_phone_api.get({ 'phone': phone, 'code': 1234, 'check_code': image_code }) self.assertEqual(bind_phone_api.get_code(), 400133) self.assertEqual(bind_phone_api.get_response_message(), u'您今日操作过多,请明天再试')
def test_bind_phone_success(self): """ 测试完成绑定手机号任务 :return: """ task_list_api = TaskListApi(self.user_name) response = task_list_api.get() self.assertEqual(task_list_api.get_code(), 0) task_list = json.loads(response.content)['result']['task_list'] for x in task_list: if x['task_name'] == u'绑定手机': self.assertIsNone(x['user_task_obj']) task_notice_api = TaskNoticeApi(self.user_name) response = task_notice_api.get() self.assertEqual(task_notice_api.get_code(), 0) send_image_code_api = ImageCodeApi() send_image_code_api.get({'device_id': settings.DEVICE_ID}) image_code = Redis().get_image_captcha(settings.DEVICE_ID) send_sms_code_api = SendSmsCodeApi() send_sms_code_api.get({ 'device_id': settings.DEVICE_ID, 'type': 'bind', 'phone': self.bind_mobile, 'check_code': image_code }) self.assertEqual(send_sms_code_api.get_code(), 0) sms_code = MysqlOperation(mobile=self.bind_mobile).get_sms_code() bind_phone_api = BindPhoneApi(self.user_name) response = bind_phone_api.get({ 'phone': self.bind_mobile, 'code': sms_code, 'check_code': image_code }) self.assertEqual(bind_phone_api.get_code(), 0) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(self.bind_mobile, identity_obj['mobilephone']) self.assertEqual(self.bind_mobile, identity_obj['login_name']) while self.count < self.max_count: task_list_api = TaskListApi(self.bind_mobile) response = task_list_api.get() self.assertEqual(task_list_api.get_code(), 0) task_list = json.loads(response.content)['result']['task_list'] if task_list[0]['user_task_obj'] is not None: self.assertEqual(task_list[0]['user_task_obj']['user_id'], (self.user_id)) self.assertEqual( task_list[0]['user_task_obj']['task_behavior'], u'bind_mobile') self.assertEqual(task_list[0]['user_task_obj']['num'], 1) self.assertEqual(task_list[0]['user_task_obj']['status'], 2) break else: self.count += 1 time.sleep(self.time_sleep) self.assertLess(self.count, self.max_count) task_notice_api = TaskNoticeApi(self.bind_mobile) task_notice_api.get() self.assertEqual(task_notice_api.get_code(), 0) get_task_reward_api = GetTaskRewardApi(self.bind_mobile) response = get_task_reward_api.get({'behavior': 'bind_mobile'}) self.assertEqual(get_task_reward_api.get_code(), 0) self.assertEqual( json.loads(response.content)['result']['task_rewards']['diamond'], 5000) task_list = json.loads(response.content)['result']['task_list'] self.assertEqual(task_list[0]['user_task_obj']['status'], 3) identity_obj = json.loads(response.content)['result']['identity_obj'] self.assertEqual(identity_obj['diamond'], u'5000')