本文整理汇总了Python中rest_framework.test.APIRequestFactory类的典型用法代码示例。如果您正苦于以下问题:Python APIRequestFactory类的具体用法?Python APIRequestFactory怎么用?Python APIRequestFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了APIRequestFactory类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: test_get_with_anonymous
def test_get_with_anonymous(self):
view = ProjectCreate.as_view()
url = reverse('admin:project_create')
request = APIRequestFactory().get(url)
request.user = AnonymousUser()
response = view(request)
self.assertTrue(isinstance(response, HttpResponseRedirect))
开发者ID:ExCiteS,项目名称:geokey,代码行数:7,代码来源:test_views.py
示例2: test_get_with_anonymous
def test_get_with_anonymous(self):
view = ApplicationConnected.as_view()
url = reverse('admin:app_connected')
request = APIRequestFactory().get(url)
request.user = AnonymousUser()
response = view(request)
self.assertTrue(isinstance(response, HttpResponseRedirect))
开发者ID:Josh1billion,项目名称:geokey,代码行数:7,代码来源:test_views.py
示例3: CreateProjectTests
class CreateProjectTests(APITestCase):
def setUp(self):
self.anonymous_user = AnonymousUserFactory()
self.user = UserFactory.create()
self.group = GroupFactory.create(name=self.user.username)
self.project = ProjectFactory.build(owner=self.group)
self.view = ProjectViewSet.as_view({"post": "create"})
self.factory = APIRequestFactory()
self.url = reverse("api:v2:project-list")
self.request = self.factory.post(self.url, {"name": self.project.name, "description": self.project.description})
def test_anonymous_user_cannot_create_project(self):
force_authenticate(self.request, user=self.anonymous_user)
response = self.view(self.request)
self.assertEquals(response.status_code, 403)
def test_required_fields(self):
bad_request = self.factory.post(self.url)
force_authenticate(bad_request, user=self.user)
response = self.view(bad_request)
data = response.data
self.assertEquals(response.status_code, 400)
self.assertEquals(len(data), 1)
self.assertIn("name", data)
def test_authenticated_user_can_create_project(self):
self.assertEquals(Project.objects.count(), 0)
force_authenticate(self.request, user=self.user)
response = self.view(self.request)
self.assertEquals(response.status_code, 201)
self.assertEquals(Project.objects.count(), 1)
project = Project.objects.first()
self.assertEquals(project.owner, self.group)
开发者ID:Cyberlusion,项目名称:Restoring-the-ecosystem,代码行数:35,代码来源:test_projects.py
示例4: test_get_with_user
def test_get_with_user(self):
view = ApplicationOverview.as_view()
url = reverse('admin:app_overview')
request = APIRequestFactory().get(url)
request.user = UserFactory.create()
response = view(request).render()
self.assertEqual(response.status_code, 200)
开发者ID:Josh1billion,项目名称:geokey,代码行数:7,代码来源:test_views.py
示例5: test_post_with_anonymous
def test_post_with_anonymous(self):
data = {
'name': 'test app',
'description': '',
'download_url': 'http://example.com/download',
'redirect_uris': 'http://example.com/redirect',
'authorization_grant_type': 'password'
}
view = ApplicationSettings.as_view()
url = reverse('admin:app_settings', kwargs={'app_id': self.app.id})
request = APIRequestFactory().post(url, data)
request.user = AnonymousUser()
response = view(request, app_id=self.app.id)
self.assertTrue(isinstance(response, HttpResponseRedirect))
ref = Application.objects.get(pk=self.app.id)
self.assertNotEqual(ref.name, data.get('name'))
self.assertNotEqual(ref.description, data.get('description'))
self.assertNotEqual(ref.download_url, data.get('download_url'))
self.assertNotEqual(ref.redirect_uris, data.get('redirect_uris'))
self.assertNotEqual(
ref.authorization_grant_type,
data.get('authorization_grant_type')
)
开发者ID:Josh1billion,项目名称:geokey,代码行数:25,代码来源:test_views.py
示例6: test_actions
def test_actions(self):
class ExampleView(views.APIView):
"""Example view."""
def post(self, request):
pass # pragma: nocover
def get_serializer(self):
return PersonSerializer()
def _choices(response, key):
"""Helper method for unpacking response JSON."""
return response.data["actions"]["POST"][key]["choices"]
view = ExampleView.as_view()
factory = APIRequestFactory()
request = factory.options("/")
response = view(request=request)
country_choices = _choices(response, "country")
fantasy_choices_en = _choices(response, "fantasy_country")
self.assertEqual(response.status_code, 200)
self.assertEqual(country_choices, countries_display(countries))
self.assertEqual(fantasy_choices_en, countries_display(FantasyCountries()))
with override_settings(LANGUAGE_CODE="fr"):
response = view(request=request)
fantasy_choices_fr = _choices(response, "fantasy_country")
self.assertNotEqual(fantasy_choices_en, fantasy_choices_fr)
开发者ID:SmileyChris,项目名称:django-countries,代码行数:29,代码来源:test_drf.py
示例7: test_post_with_superuser_when_updating
def test_post_with_superuser_when_updating(self):
"""Test POST with superuser."""
data = {"client_id": "xxxxxxxxxxxxxxxxxx", "secret": "xxxxxxxxxxxxxxxxxx", "key": ""}
view = ProviderOverview.as_view()
request = APIRequestFactory().post(self.url, data)
request.user = UserFactory.create(**{"is_superuser": True})
social_app = SocialApp.objects.create(
provider="google", name="Google", client_id="yyyyyyyyyyyyyyyyyy", secret="yyyyyyyyyyyyyyyyyy", key=""
)
social_app.sites.add(get_current_site(request))
setattr(request, "session", "session")
messages = FallbackStorage(request)
setattr(request, "_messages", messages)
response = view(request, provider_id="google").render()
self.assertEqual(response.status_code, 200)
self.assertContains(response, "Provider has been updated.")
self.assertEqual(SocialApp.objects.latest("id"), social_app)
reference = SocialApp.objects.get(pk=social_app.id)
self.assertEqual(reference.client_id, data.get("client_id"))
self.assertEqual(reference.secret, data.get("secret"))
self.assertEqual(reference.key, data.get("key"))
开发者ID:ExCiteS,项目名称:geokey,代码行数:25,代码来源:test_views.py
示例8: test_post_first_turn
def test_post_first_turn(self):
"""
Post output of game return back to django.
Authenticated user on their turn only.
Same url as get: /play/<session_id>/ag
"""
test_session = GameSession.objects.get(id=1)
test_session.set_turn_data(test_json_data_global, "V")
factory = APIRequestFactory()
user = User.objects.get(username='john')
view = GameREST.as_view()
url = 'play/' + str(test_session.id) + '/ag/'
request = factory.post(url, {'virus_player': '{"test": 1}',
'health_player': '{"test2": 2}',
'starting_from': 'india',
'testing': True,
'choice_outcome': '{"test3": 3}',
'virus_tech': '{"dog": 1}',
'health_tech': '{"cat": 2}',
'change': '{"frog": "monkey"}'
}, format='json')
force_authenticate(request, user=user)
response = view(request, test_session.id)
# for the tests, reload the session from the DB
test_session = GameSession.objects.get(id=1)
self.assertNotEqual(response.data, test_json_data_global)
self.assertEqual(response.data, 'complete')
self.assertEqual(test_session.turn_data, '{"dog": "india"}')
self.assertEqual(test_session.next_to_play, 'H')
开发者ID:tomwalker,项目名称:tabum,代码行数:32,代码来源:tests.py
示例9: test
def test(self):
admin = UserF.create()
project = ProjectF(add_admins=[admin])
observation = ObservationFactory.create(**{
'project': project
})
comment = CommentFactory.create()
factory = APIRequestFactory()
request = factory.post(
'/api/projects/%s/observations/%s/comments/' %
(project.id, observation.id),
{
'text': 'Response to a comment',
'respondsto': comment.id
}
)
force_authenticate(request, user=admin)
view = AllContributionsCommentsAPIView.as_view()
response = view(
request,
project_id=project.id,
observation_id=observation.id
).render()
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertEqual(
json.loads(response.content).get('error'),
'The comment you try to respond to is not a comment to the '
'observation.'
)
开发者ID:nagyistoce,项目名称:geokey,代码行数:31,代码来源:test_views.py
示例10: test_get_game_data_player
def test_get_game_data_player(self):
"""
Should return game session data for authenticated user upon GET
request to /play/<session_id>/ag
Should only return when its that users turn to play.
"""
test_session = GameSession.objects.get(id=1)
test_session.set_turn_data(test_json_data_global, "V")
factory = APIRequestFactory()
user = User.objects.get(username='john')
view = GameREST.as_view()
url = 'play/' + str(test_session.id) + '/ag/'
request = factory.get(url)
force_authenticate(request, user=user)
response = view(request, test_session.id)
self.assertEqual(response.data['turn_data'], test_json_data_global)
# This test is not the user that should play next
user2 = User.objects.get(username='ringo')
request2 = factory.get(url)
force_authenticate(request2, user=user2)
response2 = view(request2, test_session.id)
self.assertEqual(response2.data['detail'],
'You do not have permission to perform this action.')
开发者ID:tomwalker,项目名称:tabum,代码行数:28,代码来源:tests.py
示例11: test_trailing_slash
def test_trailing_slash(self):
factory = APIRequestFactory()
urlpatterns = format_suffix_patterns([
url(r'^test/$', dummy_view),
])
resolver = RegexURLResolver(r'^/', urlpatterns)
test_paths = [
(URLTestPath('/test.api', (), {'format': 'api'}), True),
(URLTestPath('/test/.api', (), {'format': 'api'}), False),
(URLTestPath('/test.api/', (), {'format': 'api'}), True),
]
for test_path, expected_resolved in test_paths:
request = factory.get(test_path.path)
try:
callback, callback_args, callback_kwargs = resolver.resolve(request.path_info)
except Resolver404:
callback, callback_args, callback_kwargs = (None, None, None)
if not expected_resolved:
assert callback is None
continue
assert callback_args == test_path.args
assert callback_kwargs == test_path.kwargs
开发者ID:ArtikUA,项目名称:django-rest-framework,代码行数:25,代码来源:test_urlpatterns.py
示例12: test_any_post_view
def test_any_post_view(self):
factory = APIRequestFactory()
request = factory.get('/posts/3/', format='json')
force_authenticate(request, user=User.objects.get_by_natural_key('admin'))
view = AnyPostDetail.as_view()
response = view(request, pk=3)
self.assertEqual(response.data['contents'], 'Cool post!')
开发者ID:Aurora0000,项目名称:descant,代码行数:7,代码来源:tests.py
示例13: test_api_is_correct
def test_api_is_correct(self):
factory = APIRequestFactory()
request = factory.get('/topics/1/', format='json')
force_authenticate(request, user=User.objects.get_by_natural_key('admin'))
view = TopicDetail.as_view()
response = view(request, pk=1)
self.assertEqual(response.data['reply_count'], 2)
开发者ID:Aurora0000,项目名称:descant,代码行数:7,代码来源:tests.py
示例14: test_builtin_license
def test_builtin_license(self):
addon = addon_factory()
self.version = addon.current_version
license = self.version.license
license.update(builtin=18)
assert license._constant == LICENSES_BY_BUILTIN[18]
result = LicenseSerializer(
context={'request': self.request}).to_representation(license)
assert result['id'] == license.pk
# A request with no ?lang gets you the site default l10n in a dict to
# match how non-constant values are returned.
assert result['name'] == {
'en-US': unicode(LICENSES_BY_BUILTIN[18].name)}
accept_request = APIRequestFactory().get('/')
accept_request.LANG = 'de'
result = LicenseSerializer(
context={'request': accept_request}).to_representation(license)
# An Accept-Language should result in a different default though.
assert result['name'] == {
'de': unicode(LICENSES_BY_BUILTIN[18].name)}
# But a requested lang returns a flat string
lang_request = APIRequestFactory().get('/?lang=fr')
result = LicenseSerializer(
context={'request': lang_request}).to_representation(license)
assert result['name'] == unicode(LICENSES_BY_BUILTIN[18].name)
开发者ID:tsl143,项目名称:addons-server,代码行数:28,代码来源:test_serializers.py
示例15: test_VersatileImageFieldSerializer_output
def test_VersatileImageFieldSerializer_output(self):
"""Ensure VersatileImageFieldSerializer serializes correctly"""
factory = APIRequestFactory()
request = factory.get('/admin/')
serializer = VersatileImageTestModelSerializer(
self.jpg,
context={'request': request}
)
self.assertEqual(
serializer.data.get('optional_image'),
{
'test_crop': (
'http://testserver/media/__sized__/__placeholder__/placeholder-crop'
'-c0-5__0-5-100x100.png'
),
'test_invert_crop': (
'http://testserver/media/__sized__/__placeholder__/__filtered__/placeholder__invert__'
'-crop-c0-5__0-5-100x100.png'
),
'test_invert_thumb': (
'http://testserver/media/__sized__/__placeholder__/__filtered__/placeholder__invert__'
'-thumbnail-100x100.png'
),
'test_invert': (
'http://testserver/media/__placeholder__/__filtered__/placeholder'
'__invert__.png'
),
'test_thumb': (
'http://testserver/media/__sized__/__placeholder__/placeholder-thumbnail'
'-100x100.png'
)
}
)
开发者ID:romanosipenko,项目名称:django-versatileimagefield,代码行数:34,代码来源:tests.py
示例16: TestPOSTAccessed
class TestPOSTAccessed(TestCase):
def setUp(self):
self.factory = APIRequestFactory()
def test_post_accessed_in_post_method(self):
django_request = self.factory.post('/', {'foo': 'bar'})
request = Request(django_request, parsers=[FormParser(), MultiPartParser()])
django_request.POST
assert request.POST == {'foo': ['bar']}
assert request.data == {'foo': ['bar']}
def test_post_accessed_in_post_method_with_json_parser(self):
django_request = self.factory.post('/', {'foo': 'bar'})
request = Request(django_request, parsers=[JSONParser()])
django_request.POST
assert request.POST == {}
assert request.data == {}
def test_post_accessed_in_put_method(self):
django_request = self.factory.put('/', {'foo': 'bar'})
request = Request(django_request, parsers=[FormParser(), MultiPartParser()])
django_request.POST
assert request.POST == {'foo': ['bar']}
assert request.data == {'foo': ['bar']}
def test_request_read_before_parsing(self):
django_request = self.factory.put('/', {'foo': 'bar'})
request = Request(django_request, parsers=[FormParser(), MultiPartParser()])
django_request.read()
with pytest.raises(RawPostDataException):
request.POST
with pytest.raises(RawPostDataException):
request.POST
request.data
开发者ID:YanyanZeng,项目名称:django-rest-framework,代码行数:34,代码来源:test_parsers.py
示例17: setUp
def setUp(self):
self.tag = TagFactory.create()
self.view = TagViewSet.as_view({'get': 'retrieve'})
self.anonymous_user = AnonymousUserFactory()
factory = APIRequestFactory()
url = reverse('api:v2:tag-detail', args=(self.tag.id,))
self.request = factory.get(url)
开发者ID:Angelfirenze,项目名称:atmosphere,代码行数:7,代码来源:test_tags.py
示例18: test_VersatileImageFieldSerializer_output
def test_VersatileImageFieldSerializer_output(self):
"""Ensures VersatileImageFieldSerializer serializes correctly"""
factory = APIRequestFactory()
request = factory.get('/admin/')
serializer = VersatileImageTestModelSerializer(
self.jpg,
context={'request': request}
)
self.assertEqual(
serializer.data.get('image'),
{
'test_crop': (
'http://testserver/media/__sized__/python-logo-crop'
'-c0-25__0-25-100x100.jpg'
),
'test_invert_crop': (
'http://testserver/media/__sized__/__filtered__/'
'python-logo__invert__-crop-c0-25__0-25-100x100.jpg'
),
'test_invert_thumb': (
'http://testserver/media/__sized__/__filtered__/'
'python-logo__invert__-thumbnail-100x100.jpg'
),
'test_invert': (
'http://testserver/media/__filtered__/'
'python-logo__invert__.jpg'
),
'test_thumb': (
'http://testserver/media/__sized__/python-logo-thumbnail'
'-100x100.jpg'
)
}
)
开发者ID:GRLeo,项目名称:django-versatileimagefield,代码行数:33,代码来源:tests.py
示例19: ChoiceDetail
class ChoiceDetail(APITestCase):
def setUp(self):
self.factory = APIRequestFactory()
self.client = APIClient()
self.user = setup_user()
self.view = views.PollList.as_view()
self.uri = '/choices/pk/'
def test_unauthenticated_uri(self):
"""
If not authorized access not allowed
"""
request = self.factory.get(self.uri)
response = self.view(request, pk='2')
self.assertEqual(response.status_code, 401,
'Expected Response Code 401, received {0} instead.'
.format(response.status_code))
def test_authenticated_uri(self):
"""
GET
"""
request = self.factory.get(self.uri)
force_authenticate(request, self.user)
response = self.view(request, pk='2')
self.assertEqual(response.status_code, 200,
'Expected Response Code 200, received {0} instead.'
.format(response.status_code))
开发者ID:krvc,项目名称:django_pollsapi,代码行数:28,代码来源:test_choice_detail.py
示例20: test_post_with_creator
def test_post_with_creator(self):
data = {
'name': 'test app',
'description': '',
'download_url': 'http://example.com',
'redirect_uris': 'http://example.com',
'authorization_grant_type': 'password'
}
view = ApplicationSettings.as_view()
url = reverse('admin:app_settings', kwargs={'app_id': self.app.id})
request = APIRequestFactory().post(url, data)
request.user = self.creator
from django.contrib.messages.storage.fallback import FallbackStorage
setattr(request, 'session', 'session')
messages = FallbackStorage(request)
setattr(request, '_messages', messages)
response = view(request, app_id=self.app.id).render()
self.assertEqual(response.status_code, 200)
self.assertNotContains(
response,
'You are not the owner of this application and therefore not'
'allowed to access this app.'
)
ref = Application.objects.get(pk=self.app.id)
self.assertEqual(ref.name, data.get('name'))
self.assertEqual(ref.description, data.get('description'))
self.assertEqual(ref.download_url, data.get('download_url'))
self.assertEqual(ref.redirect_uris, data.get('redirect_uris'))
self.assertEqual(
ref.authorization_grant_type,
data.get('authorization_grant_type')
)
开发者ID:Josh1billion,项目名称:geokey,代码行数:35,代码来源:test_views.py
注:本文中的rest_framework.test.APIRequestFactory类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论