本文整理汇总了Python中flask_peewee.tests.test_app.User.get方法的典型用法代码示例。如果您正苦于以下问题:Python User.get方法的具体用法?Python User.get怎么用?Python User.get使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类flask_peewee.tests.test_app.User
的用法示例。
在下文中一共展示了User.get方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_edit
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_edit(self):
self.create_users()
user_data = {'username': 'edited'}
serialized = json.dumps(user_data)
url = '/api/user/%s/' % self.normal.id
# authorized as an admin
resp = self.app.put(url, data=serialized, headers=self.auth_headers('admin', 'admin'))
self.assertEqual(resp.status_code, 200)
user = User.get(id=self.normal.id)
self.assertEqual(user.username, 'edited')
resp_json = self.response_json(resp)
self.assertAPIUser(resp_json, user)
示例2: test_create
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_create(self):
self.create_users()
new_pass = make_password('test')
user_data = {'username': 'test', 'password': new_pass, 'email': ''}
serialized = json.dumps(user_data)
# authorized as an admin
resp = self.app.post('/api/user/', data=serialized, headers=self.auth_headers('admin', 'admin'))
self.assertEqual(resp.status_code, 200)
new_user = User.get(username='test')
self.assertTrue(check_password('test', new_user.password))
resp_json = self.response_json(resp)
self.assertAPIUser(resp_json, new_user)
示例3: test_model_deserializer
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_model_deserializer(self):
users = self.create_users()
deserialized = self.md.deserialize_object(
{
"__model__": "User",
"__module__": "flask_peewee.tests.test_app",
"id": self.admin.id,
"username": "admin",
"password": self.admin.password,
"join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"),
"active": True,
"admin": True,
}
)
for attr in ["id", "username", "password", "active", "admin"]:
self.assertEqual(getattr(deserialized, attr), getattr(self.admin, attr))
self.assertEqual(
deserialized.join_date.strftime("%Y-%m-%d %H:%M:%S"), self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S")
)
admin_pk = self.admin.id
deserialized = self.md.deserialize_object(
{
"__model__": "User",
"__module__": "flask_peewee.tests.test_app",
"username": "edited",
"active": False,
"admin": False,
},
self.admin,
)
self.assertEqual(deserialized.username, "edited")
self.assertEqual(deserialized.admin, False)
self.assertEqual(deserialized.active, False)
self.assertEqual(deserialized.id, admin_pk)
deserialized.save()
self.assertEqual(User.select().count(), 3)
edited = User.get(username="edited")
self.assertEqual(edited.id, admin_pk)
示例4: test_deserializer
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_deserializer(self):
users = self.create_users()
deserialized, models = self.d.deserialize_object(User(), {
'id': self.admin.id,
'username': 'admin',
'password': self.admin.password,
'join_date': self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'),
'active': True,
'admin': True,
})
for attr in ['id', 'username', 'password', 'active', 'admin']:
self.assertEqual(
getattr(deserialized, attr),
getattr(self.admin, attr),
)
self.assertEqual(
deserialized.join_date.strftime('%Y-%m-%d %H:%M:%S'),
self.admin.join_date.strftime('%Y-%m-%d %H:%M:%S'),
)
admin_pk = self.admin.id
deserialized, models = self.d.deserialize_object(self.admin, {
'username': 'edited',
'active': False,
'admin': False,
})
self.assertEqual(deserialized.username, 'edited')
self.assertEqual(deserialized.admin, False)
self.assertEqual(deserialized.active, False)
self.assertEqual(deserialized.id, admin_pk)
deserialized.save()
self.assertEqual(User.select().count(), 3)
edited = User.get(username='edited')
self.assertEqual(edited.id, admin_pk)
示例5: test_deserializer
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_deserializer(self):
users = self.create_users()
deserialized, models = self.d.deserialize_object(
User(),
{
"id": self.admin.id,
"username": "admin",
"password": self.admin.password,
"join_date": self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S"),
"active": True,
"admin": True,
},
)
for attr in ["id", "username", "password", "active", "admin"]:
self.assertEqual(getattr(deserialized, attr), getattr(self.admin, attr))
self.assertEqual(
deserialized.join_date.strftime("%Y-%m-%d %H:%M:%S"), self.admin.join_date.strftime("%Y-%m-%d %H:%M:%S")
)
admin_pk = self.admin.id
deserialized, models = self.d.deserialize_object(
self.admin, {"username": "edited", "active": False, "admin": False}
)
self.assertEqual(deserialized.username, "edited")
self.assertEqual(deserialized.admin, False)
self.assertEqual(deserialized.active, False)
self.assertEqual(deserialized.id, admin_pk)
deserialized.save()
self.assertEqual(User.select().count(), 3)
edited = User.get(username="edited")
self.assertEqual(edited.id, admin_pk)
示例6: test_model_admin_edit
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_model_admin_edit(self):
users = self.create_users()
self.assertEqual(User.select().count(), 3)
# grab an id so we can test a 404 on non-existent user
unused_id = [x for x in range(1, 5) if not User.filter(id=x).exists()][0]
with self.flask_app.test_client() as c:
self.login(c)
# nonexistant user 404s
resp = c.get('/admin/user/%d/' % unused_id)
self.assertEqual(resp.status_code, 404)
# edit page returns a 200
resp = c.get('/admin/user/%d/' % self.normal.id)
self.assertEqual(resp.status_code, 200)
# check the user, model_admin and form are correct in the context
self.assertContext('user', self.admin)
self.assertContext('model_admin', admin._registry[User])
self.assertTrue('form' in self.flask_app._template_context)
frm = self.flask_app._template_context['form']
self.assertEqual(sorted(frm._fields.keys()), [
'active',
'admin',
'email',
'join_date',
'password',
'username',
])
# check the form pulled the right data off the model
self.assertEqual(frm.data, {
'username': 'normal',
'password': frm.password.data, # skip this
'email': '',
'admin': False,
'active': True,
'join_date': frm.join_date.data, # microseconds...bleh
})
# make an incomplete post to update the user and get a 200 w/errors
resp = c.post('/admin/user/%d/' % self.normal.id, data={
'username': '',
'password': '',
'active': '1',
'email': '[email protected]',
'join_date': '2011-01-01 00:00:00',
})
self.assertEqual(resp.status_code, 200)
# no new user created
self.assertEqual(User.select().count(), 3)
# refresh database content
normal = User.get(id=self.normal.id)
self.assertEqual(normal.username, 'normal') # was not saved
# check the form for errors
frm = self.get_context('form')
self.assertEqual(frm.errors, {
'username': ['This field is required.'],
'password': ['This field is required.'],
})
# make a complete post
resp = c.post('/admin/user/%d/' % self.normal.id, data={
'username': 'edited',
'password': 'edited',
'active': '1',
'email': '[email protected]',
'join_date': '2011-01-01 00:00:00',
})
self.assertEqual(resp.status_code, 302)
# no new user was created
self.assertEqual(User.select().count(), 3)
# grab from the database
user = User.get(username='edited')
self.assertEqual(user.id, self.normal.id) # it is the same user
self.assertTrue(check_password('edited', user.password))
self.assertEqual(user.active, True)
self.assertEqual(user.admin, False)
self.assertEqual(user.email, '[email protected]')
self.assertEqual(user.join_date, datetime.datetime(2011, 1, 1))
self.assertTrue(resp.headers['location'].endswith('/admin/user/%d/' % user.id))
# make another post without modifying the password, should stay same
resp = c.post('/admin/user/%d/' % user.id, data={
'username': 'edited2',
'password': user.password,
'active': '1',
'email': '[email protected]',
'join_date': '2011-01-01 00:00:00',
})
#.........这里部分代码省略.........
示例7: test_model_admin_add
# 需要导入模块: from flask_peewee.tests.test_app import User [as 别名]
# 或者: from flask_peewee.tests.test_app.User import get [as 别名]
def test_model_admin_add(self):
self.create_users()
self.assertEqual(User.select().count(), 3)
with self.flask_app.test_client() as c:
self.login(c)
# the add url returns a 200
resp = c.get('/admin/user/add/')
self.assertEqual(resp.status_code, 200)
# ensure the user, model_admin and form are correct in the context
self.assertContext('user', self.admin)
self.assertContext('model_admin', admin._registry[User])
self.assertTrue('form' in self.flask_app._template_context)
frm = self.flask_app._template_context['form']
self.assertEqual(sorted(frm._fields.keys()), [
'active',
'admin',
'email',
'join_date',
'password',
'username',
])
# make an incomplete post and get a 200 with errors
resp = c.post('/admin/user/add/', data={
'username': '',
'password': 'xxx',
'active': '1',
'email': '',
'join_date': '2011-01-01 00:00:00',
})
self.assertEqual(resp.status_code, 200)
# no new user created
self.assertEqual(User.select().count(), 3)
# check the form for errors
frm = self.get_context('form')
self.assertEqual(frm.errors, {
'username': ['This field is required.'],
'email': ['This field is required.'],
})
# make a complete post and get a 302 to the edit page
resp = c.post('/admin/user/add/', data={
'username': 'new',
'password': 'new',
'active': '1',
'email': '[email protected]',
'join_date': '2011-01-01 00:00:00',
})
self.assertEqual(resp.status_code, 302)
# new user was created
self.assertEqual(User.select().count(), 4)
# check they have the correct data on the new instance
user = User.get(username='new')
self.assertEqual(user.active, True)
self.assertEqual(user.admin, False)
self.assertEqual(user.email, '[email protected]')
self.assertEqual(user.join_date, datetime.datetime(2011, 1, 1))
self.assertTrue(check_password('new', user.password))
# check the redirect was correct
self.assertTrue(resp.headers['location'].endswith('/admin/user/%d/' % user.id))