示例#1
0
文件: tests.py 项目: zjjott/html
 def test_encode_obj(self):
     self.assertEqual(User.query(User).count(), 1)
     first_user = User.query().first()
     obj = SQLAlchemy2DictEncoder(fields=[
         'id',  # int
         'username',  # str
         'created_at'
     ]).encode(first_user)
     self.assertIsInstance(obj, dict)
     self.assertEqual(obj['id'], 1)
     self.assertEqual(obj['username'], 'test')
     self.assertIsInstance(obj['created_at'], datetime)
示例#2
0
文件: tests.py 项目: zjjott/html
 def test_getattr(self):
     user = User(
         username="******",
         tenant_id="mt_tenant_1",
         user_id="mt_user_1",
     )
     user.save_object()
     self.assertEqual(User.query(User).count(), 1)
     first_user = User.query(User).one()
     self.assertEqual(first_user['username'], "test")
     first_user['username'] = "******"
     self.assertEqual(first_user.username, "test2")
     User.save_updates(first_user)
示例#3
0
文件: tests.py 项目: zjjott/html
 def test_encode_query(self):
     self.assertEqual(User.query(User).count(), 1)
     query = User.query()
     self.assertIsInstance(query, Query)
     result = SQLAlchemy2DictEncoder(fields=[
         'id',  # int
         'username',  # str
         'created_at'
     ]).encode(query)
     self.assertIsInstance(result, list)
     self.assertEqual(len(result), 1)
     obj = result[0]
     self.assertEqual(obj['id'], 1)
     self.assertEqual(obj['username'], 'test')
     self.assertIsInstance(obj['created_at'], datetime)
示例#4
0
文件: tests.py 项目: zjjott/html
 def test_todict(self):
     user = User(
         username="******",
         tenant_id="mt_tenant_1",
         user_id="mt_user_1",
     )
     user.save_object()
     self.assertEqual(User.query(User).count(), 1)
     first_user = User.query(User).one()
     self.assertIsNone(first_user.deleted_at)
     expect = {
         'username': u'test',
         'user_id': u'mt_user_1',
         'tenant_id': u'mt_tenant_1',
         u'deleted_at': None,
         'id': 1
     }
     user_obj = first_user.to_dict()
     for key, value in expect.iteritems():
         self.assertEqual(user_obj[key], value)
示例#5
0
文件: tests.py 项目: zjjott/html
 def test_picker(self):
     User(username="******", tenant_id="mt_tenant_1",
          user_id="mt_user_1").save_object()
     user = User.query().first()
     # have not error
     dumped_user = user.dumps()
     loaded_user = User.loads(dumped_user)
     self.assertEqual(loaded_user.username, user.username)
     self.assertEqual(loaded_user.tenant_id, user.tenant_id)
     self.assertEqual(loaded_user.user_id, user.user_id)
     self.assertEqual(loaded_user.id, user.id)
     self.assertEqual(loaded_user.updated_at, user.updated_at)
示例#6
0
文件: tests.py 项目: zjjott/html
    def test_sso(self):
        """测试SSO过程
        默认的http_client是AsyncHTTPClient
        这里不用SessionClient,是因为SessionClient依赖RESTfulAsyncClient
        而后者被上面mock掉了
        """
        # 首页现在重定向到analyze了也需要登录了
        # response = self.fetch("/")
        # # 维持一个session
        # self.assertTrue(response.effective_url.startswith("http://localhost"))
        cookies = []
        # for cookie in response.headers.get_list("Set-Cookie"):
        #     cookies.append(self._parse_cookie(cookie))
        headers = {}
        url = self.reverse_url("user:logout")
        response = self.fetch(url, headers=headers)
        self.assertFalse(response.effective_url.startswith("http://localhost"))

        self.assertEqual(User.query(User.id).count(), 0)

        # 经过一番重定向(外部忽略)后,带着token回到callback页面,并登陆
        response2 = self.fetch(
            "/user/callback",
            method="POST",
            body="token=suibianshenme",
            headers=headers,
            # !!!跟随重定向的时候,cookie就没了,这尼玛心塞
            follow_redirects=False)
        self.assertEqual(User.query(User.id).count(), 1)
        first_user = User.query(User).one()
        self.assertEqual(first_user.username, "testusername")
        self.assertEqual(first_user.tenant_id, "mt_tenant_1")
        self.assertEqual(first_user.user_id, "mt_user_1")
        # 再次带着登陆的Cookie
        for cookie in response2.headers.get_list("Set-Cookie"):
            cookies.append(self._parse_cookie(cookie))
        headers = {"Cookie": "; ".join(cookies)}
        # 再访问之前需要登录的链接
        response = self.fetch("/analyze/", headers=headers)
        self.assertTrue(response.effective_url.startswith("http://localhost"))
示例#7
0
文件: tests.py 项目: zjjott/html
    def test_create_or_get(self):
        self.assertEqual(User.query(User.id).count(), 0)
        obj, is_created = User.create_or_get(username="******",
                                             tenant_id="mt_tenant_1",
                                             user_id="mt_user_1")
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, True)

        obj, is_created = User.create_or_get(username="******",
                                             tenant_id="mt_tenant_1",
                                             user_id="mt_user_1")
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, False)

        obj, is_created = User.create_or_get(username="******",
                                             tenant_id="mt_tenant_1",
                                             user_id="mt_user_1")
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, False)
示例#8
0
文件: tests.py 项目: zjjott/html
    def test_update_or_create(self):
        self.assertEqual(User.query(User.id).count(), 0)
        obj, is_created = User.update_or_create(username="******",
                                                defaults={
                                                    "tenant_id": "mt_tenant_1",
                                                    "user_id": "mt_user_1"
                                                })
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, True)
        self.assertEqual(User.query(User.id).count(), 1)

        first_user = User.query(User).one()
        self.assertEqual(first_user.username, "test")
        self.assertEqual(first_user.tenant_id, "mt_tenant_1")
        self.assertEqual(first_user.user_id, "mt_user_1")
        # 一样的数据则不修改
        obj, is_created = User.update_or_create(username="******",
                                                defaults={
                                                    "tenant_id": "mt_tenant_1",
                                                    "user_id": "mt_user_1"
                                                })
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, False)
        self.assertEqual(User.query(User.id).count(), 1)

        obj, is_created = User.update_or_create(username="******",
                                                defaults={
                                                    "tenant_id":
                                                    "mt_tenant_12",
                                                    "user_id": "mt_user_12"
                                                })
        self.assertEqual(obj.id, 1)
        self.assertEqual(is_created, False)
        self.assertEqual(User.query(User.id).count(), 1)
        first_user = User.query(User).first()
        self.assertEqual(first_user.username, "test")
        self.assertEqual(first_user.tenant_id, "mt_tenant_12")
        self.assertEqual(first_user.user_id, "mt_user_12")
示例#9
0
文件: tests.py 项目: zjjott/html
 def test_create(self):
     self.assertEqual(User.query(User.id).count(), 0)
     user = User(
         username="******",
         tenant_id="mt_tenant_1",
         user_id="mt_user_1",
     )
     user.save_object()
     self.assertEqual(User.query(User).count(), 1)
     first_user = User.query(User).one()
     self.assertEqual(first_user.username, "test")
     self.assertEqual(first_user.tenant_id, "mt_tenant_1")
     self.assertEqual(first_user.user_id, "mt_user_1")
     yield gen.sleep(1)
     first_user.username = '******'
     # first_user.updated_at = datetime(2010, 1, 1,tzinfo=UTC)
     first_user.save_object()
     self.assertEqual(User.query(User).count(), 1)
     first_user = User.query(User).one()
     self.assertGreater(first_user.updated_at, first_user.created_at)
     # first_user.updated_at = datetime(2010, 1, 1, tzinfo=UTC)
     # first_user.save_object()
     first_user = User.query(User).first()
示例#10
0
文件: tests.py 项目: zjjott/html
 def get_current_user_async():
     user = User.query().get(user_id)
     raise Return(user)
示例#11
0
文件: tests.py 项目: zjjott/html
 def get_user(self):
     user = User.query().filter_by(username="******").one()
     return user
示例#12
0
文件: tests.py 项目: zjjott/html
 def test_user(self):
     self.assertEqual(User.query(User.id).count(), 0)