def setUp(self): # mock需要登录的基类函数,统一返回测试用户 if self.contexts is None: self.contexts = [] super(LoginTestCase, self).setUp() user = User( username="******", tenant_id="mt_tenant_1", user_id="mt_user_1", ) user.save_object() user_id = user.id def get_current_user(): raise NotImplementedError("这个方法不应该被调用,参考get_current_user_async方法") # return User.query().get(user_id) # bind session o = patch.object(UserAuthBaseHandle, 'get_current_user', side_effect=get_current_user) @coroutine def get_current_user_async(): user = User.query().get(user_id) raise Return(user) o = patch.object(UserAuthBaseHandle, 'get_current_user_async', side_effect=get_current_user_async) self.contexts.append(o) o.__enter__()
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)
def test_iter(self): user = User( username="******", tenant_id="mt_tenant_1", user_id="mt_user_1", ) user.save_object() for i, value in user: pass obj = user.items() keys = user.keys() values = user.values() self.assertEqual(keys, [o[0] for o in obj]) self.assertEqual(values, [o[1] for o in obj])
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)
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()