本文整理汇总了Python中geokey.projects.tests.model_factories.ProjectFactory.save方法的典型用法代码示例。如果您正苦于以下问题:Python ProjectFactory.save方法的具体用法?Python ProjectFactory.save怎么用?Python ProjectFactory.save使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类geokey.projects.tests.model_factories.ProjectFactory
的用法示例。
在下文中一共展示了ProjectFactory.save方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: AllContributionsMediaAPIViewTest
# 需要导入模块: from geokey.projects.tests.model_factories import ProjectFactory [as 别名]
# 或者: from geokey.projects.tests.model_factories.ProjectFactory import save [as 别名]
#.........这里部分代码省略.........
request,
project_id=self.project.id,
contribution_id=self.contribution.id
).render()
def post(self, user, data=None):
if user.is_anonymous and not User.objects.filter(
display_name='AnonymousUser').exists():
UserFactory.create(display_name='AnonymousUser')
if data is None:
data = {
'name': 'A test image',
'description': 'Test image description',
'file': get_image()
}
url = reverse(
'api:project_media',
kwargs={
'project_id': self.project.id,
'contribution_id': self.contribution.id
}
)
request = self.factory.post(url, data)
force_authenticate(request, user)
view = AllContributionsMediaAPIView.as_view()
return view(
request,
project_id=self.project.id,
contribution_id=self.contribution.id
).render()
def test_get_images_with_admin(self):
response = self.get(self.admin)
self.assertEqual(response.status_code, 200)
def test_get_images_with_contributor(self):
response = self.get(self.creator)
self.assertEqual(response.status_code, 200)
def test_get_images_with_some_dude(self):
response = self.get(UserFactory.create())
self.assertEqual(response.status_code, 404)
def test_get_images_with_anonymous(self):
response = self.get(AnonymousUser())
self.assertEqual(response.status_code, 404)
def test_upload_image_with_admin(self):
response = self.post(self.admin)
self.assertEqual(response.status_code, 201)
def test_upload_image_with_contributor(self):
response = self.post(self.creator)
self.assertEqual(response.status_code, 201)
def test_upload_image_with_some_dude(self):
response = self.post(UserFactory.create())
self.assertEqual(response.status_code, 404)
def test_upload_image_with_anonymous(self):
response = self.post(AnonymousUser())
self.assertEqual(response.status_code, 404)
def test_post_images_with_anonymous_to_public(self):
self.project.isprivate = False
self.project.everyone_contributes = 'true'
self.project.save()
response = self.post(AnonymousUser())
self.assertEqual(response.status_code, 201)
def test_upload_unsupported_file_format(self):
xyz_file = StringIO()
xyz = Image.new('RGBA', size=(50, 50), color=(256, 0, 0))
xyz.save(xyz_file, 'png')
xyz_file.seek(0)
data = {
'name': 'A test image',
'description': 'Test image description',
'file': ContentFile(xyz_file.read(), 'test.xyz')
}
response = self.post(self.admin, data=data)
self.assertEqual(response.status_code, 400)
def test_upload_with_loooooong_filename(self):
data = {
'name': 'A test image ',
'description': 'Test image description',
'file': get_image(file_name='One two three four six seven eight '
'nine ten eleven twelve thirteen '
'fourteen fifteen.png')
}
response = self.post(self.admin, data=data)
self.assertEqual(response.status_code, 201)
示例2: CommentAbstractAPIViewTest
# 需要导入模块: from geokey.projects.tests.model_factories import ProjectFactory [as 别名]
# 或者: from geokey.projects.tests.model_factories.ProjectFactory import save [as 别名]
class CommentAbstractAPIViewTest(TestCase):
def setUp(self):
self.factory = APIRequestFactory()
self.admin = UserFactory.create()
self.creator = UserFactory.create()
self.moderator = UserFactory.create()
self.commenter = UserFactory.create()
self.project = ProjectFactory(
add_admins=[self.admin],
add_contributors=[self.creator, self.commenter]
)
self.moderators = UserGroupFactory(add_users=[self.moderator], **{
'project': self.project,
'can_moderate': True
})
self.contribution = ObservationFactory.create(**{
'project': self.project,
'creator': self.creator,
'status': 'active'
})
self.comment = CommentFactory.create(**{
'commentto': self.contribution,
'creator': self.commenter
})
def render(self, response):
response.accepted_renderer = JSONRenderer()
response.accepted_media_type = 'application/json'
response.renderer_context = {'blah': 'blubb'}
return response.render()
def test_create_comment_with_admin(self):
url = reverse('api:project_comments', kwargs={
'project_id': self.project.id,
'contribution_id': self.contribution.id
})
request = self.factory.post(url, {'text': 'Comment'})
request.user = self.admin
request.data = {'text': 'Comment'}
view = CommentAbstractAPIView()
response = self.render(
view.create_and_respond(request, self.contribution)
)
self.assertEqual(json.loads(response.content).get('text'), 'Comment')
def test_create_reviewcomment_with_admin(self):
url = reverse('api:project_comments', kwargs={
'project_id': self.project.id,
'contribution_id': self.contribution.id
})
request = self.factory.post(
url, {'text': 'Comment', 'review_status': 'open'}
)
request.user = self.admin
request.data = {'text': 'Comment', 'review_status': 'open'}
view = CommentAbstractAPIView()
response = self.render(
view.create_and_respond(request, self.contribution)
)
self.assertEqual(json.loads(response.content).get('text'), 'Comment')
ref = Observation.objects.get(pk=self.contribution.id)
self.assertEqual(ref.status, 'review')
def test_create_reviewcomment_to_empty_obs_with_admin(self):
self.contribution.properties = {}
self.contribution.save()
url = reverse('api:project_comments', kwargs={
'project_id': self.project.id,
'contribution_id': self.contribution.id
})
request = self.factory.post(
url, {'text': 'Comment', 'review_status': 'open'}
)
request.user = self.admin
request.data = {'text': 'Comment', 'review_status': 'open'}
view = CommentAbstractAPIView()
response = self.render(
view.create_and_respond(request, self.contribution)
)
self.assertEqual(json.loads(response.content).get('text'), 'Comment')
ref = Observation.objects.get(pk=self.contribution.id)
self.assertEqual(ref.status, 'review')
def test_update_comment_with_admin(self):
url = reverse('api:project_single_comment', kwargs={
'project_id': self.project.id,
'contribution_id': self.contribution.id,
'comment_id': self.comment.id
})
request = self.factory.patch(url, {'text': 'Updated'})
request.user = self.admin
request.data = {'text': 'Updated'}
view = CommentAbstractAPIView()
response = self.render(
view.update_and_respond(request, self.contribution, self.comment)
#.........这里部分代码省略.........