github.com/jincm/wesharechain@v0.0.0-20210122032815-1537409ce26a/server/block/ut/user_test.py (about)

     1  #coding:utf-8
     2  
     3  from util import crypto_rc4
     4  import time
     5  from operation.user import UserOp
     6  from operation.verify_manage import VerifyOp
     7  import unittest
     8  from util import common_util, convert
     9  import time
    10  from datetime import datetime
    11  
    12  
    13  class UserTestCase(unittest.TestCase):
    14      @classmethod
    15      def setUpClass(cls):
    16          UserTestCase.user_id = ""
    17          UserTestCase.time = 0
    18          UserTestCase.code_id = ""
    19          UserTestCase.token = None
    20  
    21      def setUp(self):
    22          self.op = UserOp()
    23          self.code = VerifyOp()
    24  
    25      def tearDown(self):
    26          # self.op.delete(id=UserTestCase.user_id)
    27          # self.code.delete(id=UserTestCase.code_id)
    28          pass
    29  
    30      def test_01_create(self):
    31          print "test_01_create"
    32  
    33          code_create = self.code.create(phone="1748593217", verify_code="888888")
    34          print "code_create=%s" % code_create
    35          self.assertTrue(code_create is not None)
    36          UserTestCase.code_id = convert.bs2utf8(code_create.get("id"))
    37          verify_re = self.code.verify_code_phone(phone="1748593217", code="888888")
    38          self.assertTrue(verify_re==False)
    39          user_create = self.op.create(phone="1748593217", referrer_id='')
    40          self.assertTrue(user_create is not None)
    41  
    42      def test_02_login(self):
    43          print "test_02_login"
    44          _ = self.op.login("1748593217")
    45          print("login_re=%s"%_)
    46          UserTestCase.user_id = convert.bs2utf8(_.get("id"))
    47          UserTestCase.time = int(time.time())
    48          print "user_id=%s,type=%s"%(UserTestCase.user_id, type(UserTestCase.user_id))
    49          UserTestCase.token = common_util.gen_token(UserTestCase.user_id, UserTestCase.time)
    50          print "token=%s" % UserTestCase.token
    51          #self.assertTrue(True)
    52  
    53      def test_03_token(self):
    54          print "test_03_token"
    55          print "user_id=%s,type=%s" % (UserTestCase.user_id, type(UserTestCase.user_id))
    56          content = ":".join((UserTestCase.user_id, str(UserTestCase.time)))
    57          print "content=%s" % content
    58          _ = crypto_rc4.decrypt(UserTestCase.token, crypto_rc4.SECRET_KEY)
    59          print "_=%s" % _
    60          self.assertTrue(_ == content)
    61  
    62      def test_04_update(self):
    63          print "test_04_update"
    64  
    65          update_dict = {
    66              "phone": "13225004810",
    67              "sex": 0,
    68              "birthday": datetime.now(),
    69              "nick_name": "ahahah",
    70          }
    71          self.op.update(id=UserTestCase.user_id, **update_dict)
    72  
    73          ph = self.op.info(id=UserTestCase.user_id).get('phone')
    74  
    75          self.assertTrue("13225004810" == ph)
    76  
    77  
    78  if __name__ == "__main__":
    79      # unittest.main()
    80      suite = unittest.TestSuite()
    81      suite.addTest(UserTestCase("test_01_create"))
    82      suite.addTest(UserTestCase("test_02_login"))
    83      suite.addTest(UserTestCase("test_03_token"))
    84      suite.addTest(UserTestCase("test_04_update"))
    85      unittest.TextTestRunner(verbosity=3).run(suite)