zoukankan      html  css  js  c++  java
  • day12_框架二choujiang.py代码

    import unittest
    from lib.tools import my_redis,my_request,my_mysql
    from conf.settings import HOST_INFO
    class Choujiang(unittest.TestCase):
    def setUp(self):
    self.choujiang_url = HOST_INFO + '/api/product/choice'
    self.login_url = HOST_INFO + '/api/user/login'
    self.reg_url = HOST_INFO + '/api/user/user_reg'

    def tearDown(self): # tearDown是每条用例执行完运行的,正常抽奖执行完删除用户再注册,登录,抽奖
    sql = 'delete from app_myuser where username = "sunyy124";' # 删除注册过的用户名,运行N次都OK
    my_mysql.other_sql(sql)

    def reg(self):
    data = {'username': 'sunyy124', 'pwd': '123456aA', 'cpwd': '123456aA'}
    res = my_request('post', self.reg_url, data)
    print(res)
    self.assertIsInstance(res, dict) # 校验类型,是否是字典,只有是字典才能进行继续判断,.json()返回字典
    self.assertEqual(1000, res.get('error_code')) # 注册成功校验error_code是否是1000
    self.assertEqual('注册成功!', res.get('msg')) # 注册成功校验msg是否是注册成功!
    # sql = 'delete from app_myuser where username = "sunyy124";' # 删除注册过的用户名,运行N次都OK
    # my_mysql.other_sql(sql)

    def login(self):
    data = {'username': 'sunyy124', 'passwd': '123456aA'}
    res = my_request('post',self.login_url,data)
    self.assertIsInstance(res, dict) # 校验类型,是否是字典,只有是字典才能进行继续判断,.json()返回字典
    self.assertEqual(0, res.get('error_code')) # 登录成功校验error_code是否是0
    self.sign = res.get('login_info').get('sign') # 登录成功获取到sign
    self.userId = res.get('login_info').get('userId') # 登录成功获取到userId

    def testChoujiang(self):
    '''正常抽奖'''
    self.reg() # 保证登录失效,要再调一下注册接口
    self.login()
    my_redis.set('choujiang:sunyy124',0) # 防止抽奖次数用尽,每次抽奖前都set为0,运行用例就不会报错
    data = {'userid': self.userId,'sign': self.sign}
    res = my_request('get',self.choujiang_url,data)
    self.assertIsInstance(res,dict)
    self.assertEqual(0,res.get('error_code')) # error_code是0表示抽奖成功

    def testChoujiangErr(self):
    '''抽奖次数用尽'''
    self.reg() # 保证登录失效,要再调一下注册接口
    self.login()
    my_redis.set('choujiang:sunyy124',3) # 测试抽奖次数用尽,每次抽奖前都set为3,运行用例就不会报错
    data = {'userid': self.userId,'sign': self.sign}
    res = my_request('get',self.choujiang_url,data)
    self.assertIsInstance(res, dict)
    self.assertEqual(1099, res.get('error_code')) # error_code是1099表示抽奖次数已用尽

    if __name__ == '__main__':
    unittest.main()
  • 相关阅读:
    2020牛客暑期多校训练营(第三场)
    2020牛客暑期多校训练营(第二场)
    C# 获取枚举类型中所有描述信息 Xinner
    XPath Xinner
    02kubeadm安装
    thinkphp6:访问redis6(thinkphp 6.0.9/php 8.0.14)
    npm8.3.0 安装@vue/cli 4.5.15
    linux(ubuntu 21.10): php8.0.14:安装phpredis以访问redis(phpredis5.3.5)
    linux(ubuntu21.10):apt方式安装redis6.0.15
    阿里云何万青:南坡VS北坡,阿里云高性能计算行业实践
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8639608.html
Copyright © 2011-2022 走看看