本文整理汇总了Python中factories.BlogpostFactory类的典型用法代码示例。如果您正苦于以下问题:Python BlogpostFactory类的具体用法?Python BlogpostFactory怎么用?Python BlogpostFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了BlogpostFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_blogposts_get_all
def test_blogposts_get_all(self):
"""Test blogpost GET all blogposts"""
user = self.create_users()[1]
project = ProjectFactory.create(owner=user)
blogpost_1 = BlogpostFactory.create(owner=user, project=project,
title='titleone', published=True)
blogpost_2 = BlogpostFactory.create(owner=user, project=project,
title='titletwo',
published=True)
blogpost_3 = BlogpostFactory.create(owner=user, project=project,
title='titlethree',
published=False)
url = "/project/%s/blog" % project.short_name
# As anonymous
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
assert 'titleone' in res.data
assert 'titletwo' in res.data
# As authenticated
self.register()
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
assert 'titleone' in res.data
assert 'titletwo' in res.data
assert 'titlethree' not in res.data
示例2: test_delete_blogpost
def test_delete_blogpost(self, mock_delete):
"""Test API Blogpost delete post (DEL)."""
mock_delete.return_value = True
admin = UserFactory.create()
owner = UserFactory.create()
user = UserFactory.create()
project = ProjectFactory.create(owner=owner)
blogpost = BlogpostFactory.create(project=project)
blogpost2 = BlogpostFactory.create(project=project)
# As anon
url = '/api/blogpost/%s' % blogpost.id
res = self.app.delete(url)
data = json.loads(res.data)
assert res.status_code == 401, res.status_code
# As user
url = '/api/blogpost/%s?api_key=%s' % (blogpost.id, user.api_key)
res = self.app.delete(url)
assert res.status_code == 403, res.status_code
# As owner
url = '/api/blogpost/%s?api_key=%s' % (blogpost.id, owner.api_key)
res = self.app.delete(url)
assert res.status_code == 204, res.status_code
assert mock_delete.called_with(blogpost.info['file_name'],
blogpost.info['container'])
# As admin
url = '/api/blogpost/%s?api_key=%s' % (blogpost2.id, admin.api_key)
res = self.app.delete(url)
assert res.status_code == 204, res.status_code
示例3: test_get_by_returns_none_if_no_blogpost
def test_get_by_returns_none_if_no_blogpost(self):
"""Test get_by returns None if no blogpost matches the query"""
BlogpostFactory.create(title='My blog', body='myblogpost')
blogpost = self.blog_repo.get_by(title='notitle')
assert blogpost is None, blogpost
示例4: test_filter_by_no_matches
def test_filter_by_no_matches(self):
"""Test filter_by returns an empty list if no blogposts match the query"""
BlogpostFactory.create(title='My blog', body='myblogpost')
retrieved_blogposts = self.blog_repo.filter_by(title='no title')
assert isinstance(retrieved_blogposts, list)
assert len(retrieved_blogposts) == 0, retrieved_blogposts
示例5: test_json_blogposts_get_all
def test_json_blogposts_get_all(self):
"""Test JSON blogpost GET all blogposts"""
user = self.create_users()[1]
project = ProjectFactory.create(owner=user)
blogpost_1 = BlogpostFactory.create(owner=user, project=project,
title='titleone', published=True)
blogpost_2 = BlogpostFactory.create(owner=user, project=project,
title='titletwo', published=True)
blogpost_3 = BlogpostFactory.create(owner=user, project=project,
title='titlethree', published=False)
url = "/project/%s/blog" % project.short_name
# As anonymous
res = self.app_get_json(url)
assert res.status_code == 200, res.status_code
data = json.loads(res.data)
assert 'api_key' not in data['owner'].keys()
assert 'email_addr' not in data['owner'].keys()
assert 'google_user_id' not in data['owner'].keys()
assert 'facebook_user_id' not in data['owner'].keys()
assert 'twitter_user_id' not in data['owner'].keys()
assert len(data['blogposts']) == 2
for blogpost in data['blogposts']:
assert blogpost['title'] in ['titleone', 'titletwo']
# As authenticated
self.register()
res = self.app_get_json(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
data = json.loads(res.data)
assert 'api_key' not in data['owner'].keys()
assert 'email_addr' not in data['owner'].keys()
assert 'google_user_id' not in data['owner'].keys()
assert 'facebook_user_id' not in data['owner'].keys()
assert 'twitter_user_id' not in data['owner'].keys()
assert len(data['blogposts']) == 2
for blogpost in data['blogposts']:
assert blogpost['title'] in ['titleone', 'titletwo']
self.signout()
# As owner
self.signin(email=user.email_addr, password=self.password)
res = self.app_get_json(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
data = json.loads(res.data)
assert 'api_key' in data['owner'].keys()
assert 'email_addr' in data['owner'].keys()
assert 'google_user_id' in data['owner'].keys()
assert 'facebook_user_id' in data['owner'].keys()
assert 'twitter_user_id' in data['owner'].keys()
assert len(data['blogposts']) == 3
for blogpost in data['blogposts']:
assert blogpost['title'] in ['titleone', 'titletwo', 'titlethree']
self.signout()
示例6: test_filter_by_one_condition
def test_filter_by_one_condition(self):
"""Test filter_by returns a list of blogposts that meet the filtering
condition"""
BlogpostFactory.create_batch(3, title='my blogpost')
should_be_missing = BlogpostFactory.create(title='another blogpost')
retrieved_blogposts = self.blog_repo.filter_by(title='my blogpost')
assert len(retrieved_blogposts) == 3, retrieved_blogposts
assert should_be_missing not in retrieved_blogposts, retrieved_blogposts
示例7: test_filter_by_multiple_conditions
def test_filter_by_multiple_conditions(self):
"""Test filter_by supports multiple-condition queries"""
BlogpostFactory.create(title='my blogpost', body='body')
blogpost = BlogpostFactory.create(title='my blogpost', body='other body')
retrieved_blogposts = self.blog_repo.filter_by(title='my blogpost',
body='other body')
assert len(retrieved_blogposts) == 1, retrieved_blogposts
assert blogpost in retrieved_blogposts, retrieved_blogposts
示例8: test_filter_by_limit_offset
def test_filter_by_limit_offset(self):
"""Test that filter_by supports limit and offset options"""
BlogpostFactory.create_batch(4)
all_blogposts = self.blog_repo.filter_by()
first_two = self.blog_repo.filter_by(limit=2)
last_two = self.blog_repo.filter_by(limit=2, offset=2)
assert len(first_two) == 2, first_two
assert len(last_two) == 2, last_two
assert first_two == all_blogposts[:2]
assert last_two == all_blogposts[2:]
示例9: test_blogpost_get_one_with_hidden_app
def test_blogpost_get_one_with_hidden_app(self):
"""Test blogpost GET a given post id with hidden project does not show the post"""
self.register()
admin = user_repo.get(1)
self.signout()
self.register(name='user', email='[email protected]')
user = user_repo.get(2)
app = AppFactory.create(owner=user, hidden=1)
blogpost = BlogpostFactory.create(app=app, title='title')
url = "/app/%s/%s" % (app.short_name, blogpost.id)
# As app owner
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
assert 'title' in res.data
# As authenticated
self.signout()
self.register(name='notowner', email='[email protected]')
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 403, res.status_code
# As anonymous
self.signout()
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 401, res.status_code
# As admin
self.signin()
res = self.app.get(url, follow_redirects=True)
assert res.status_code == 200, res.status_code
assert 'title' in res.data
示例10: test_anonymous_user_create_given_blogpost
def test_anonymous_user_create_given_blogpost(self):
"""Test anonymous users cannot create a given blogpost"""
app = AppFactory.create()
blogpost = BlogpostFactory.build(app=app, owner=None)
assert_raises(Unauthorized, getattr(require, 'blogpost').create, blogpost)
示例11: test_anonymous_user_read_given_blogpost_hidden_app
def test_anonymous_user_read_given_blogpost_hidden_app(self):
"""Test anonymous users cannot read a given blogpost of a hidden project"""
app = AppFactory.create(hidden=1)
blogpost = BlogpostFactory.create(app=app)
assert_raises(Unauthorized, getattr(require, 'blogpost').read, blogpost)
示例12: test_anonymous_user_read_given_blogpost
def test_anonymous_user_read_given_blogpost(self):
"""Test anonymous users can read a given blogpost"""
app = AppFactory.create()
blogpost = BlogpostFactory.create(app=app)
assert_not_raises(Exception, getattr(require, 'blogpost').read, blogpost)
示例13: test_anonymous_user_create_given_blogpost
def test_anonymous_user_create_given_blogpost(self):
"""Test anonymous users cannot create a given blogpost"""
project = ProjectFactory.create()
blogpost = BlogpostFactory.build(project=project, owner=None)
assert_raises(Unauthorized, ensure_authorized_to, 'create', blogpost)
示例14: test_blogpost_update_errors
def test_blogpost_update_errors(self):
"""Test blogposts update for non existing apps raises errors"""
self.register()
user = db.session.query(User).get(1)
app1 = AppFactory.create(owner=user)
app2 = AppFactory.create(owner=user)
blogpost = BlogpostFactory.create(owner=user, app=app1, body='body')
# To a non-existing app
url = "/app/non-existing-app/%s/update" % blogpost.id
res = self.app.post(url, data={'title':'new title', 'body':'body'},
follow_redirects=True)
assert res.status_code == 404, res.status_code
# To a non-existing post
url = "/app/%s/999999/update" % app1.short_name
res = self.app.post(url, data={'title':'new title', 'body':'body'},
follow_redirects=True)
assert res.status_code == 404, res.status_code
# To an existing post but with a project in the URL it does not belong to
url = "/app/%s/%s/update" % (app2.short_name, blogpost.id)
res = self.app.post(url, data={'title':'new title', 'body':'body'},
follow_redirects=True)
assert res.status_code == 404, res.status_code
示例15: test_anonymous_user_read_given_blogpost_draft_project
def test_anonymous_user_read_given_blogpost_draft_project(self):
"""Test anonymous users cannot read a given blogpost of a draft project"""
project = ProjectFactory.create(published=False)
blogpost = BlogpostFactory.create(project=project)
assert_raises(Unauthorized, ensure_authorized_to, 'read', blogpost)