Ejemplo n.º 1
0
 def test_authorization_is_not_enforced_in_snippets_list(self):
     """Test that the api has user authorization."""
     factory = APIRequestFactory()
     view = SnippetViewSet.as_view({'get': 'list'})
     request = factory.get('/snippets/')
     force_authenticate(request, user=None, token=None)
     response = view(request)
     self.assertEqual(response.status_code, status.HTTP_200_OK)
Ejemplo n.º 2
0
 def test_authorization_is_enforced(self):
     """Test that the api has user authorization."""
     factory = APIRequestFactory()
     view = SnippetViewSet.as_view({'delete': 'destroy'})
     request = factory.delete('/snippets/')
     force_authenticate(request, user=None, token=None)
     response = view(request, pk=1)
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
Ejemplo n.º 3
0
    def test_get_one_snippet(self):
        factory = APIRequestFactory()
        request = factory.get('/snippets/')
        view = SnippetViewSet.as_view({'get': 'retrieve'})
        snippet_to_get = Snippet.objects.get(code='python is cool')
        response = view(request, pk=snippet_to_get.id)

        self.assertContains(response,
                            text=snippet_to_get.code,
                            count=1,
                            status_code=200)
Ejemplo n.º 4
0
    def test_authorization_is_enforced_in_snippets_update(self):
        """Test that the api has user authorization."""
        factory = APIRequestFactory()
        snippet = Snippet.objects.get(id=1)
        change_snippet = {'code': 'something new'}

        view = SnippetViewSet.as_view({'put': 'update'})
        request = factory.put('/snippets/', change_snippet)
        user = User.objects.get(username="******")
        force_authenticate(request, user=user)
        response = view(request, pk=snippet.id)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
Ejemplo n.º 5
0
    def test_delete_snippet(self):
        snippet_to_delete = Snippet.objects.get(code='python is cool')
        factory = APIRequestFactory()
        user = User.objects.get(username='******')
        view = SnippetViewSet.as_view({'delete': 'destroy'})

        # Make an authenticated request to the view
        request = factory.delete('/snippets/', format='json')
        force_authenticate(request, user=user)
        response = view(request, pk=snippet_to_delete.id)

        assert response.status_code == 204
        assert response.data is None
        with raises(Snippet.DoesNotExist,
                    message='Snippet matching query does not exist'):
            Snippet.objects.get(code='python is cool')
Ejemplo n.º 6
0
    def test_put_update_snippet(self):
        snippet_to_update = Snippet.objects.get(code='python is cool')
        data = {
            "id": str(snippet_to_update.id),
            "title": "test_put",
            "code": "Hello Put",
            "linenos": False,
            "language": 'python',
            "style": 'friendly'
        }
        factory = APIRequestFactory()
        user = User.objects.get(username='******')
        view = SnippetViewSet.as_view({'put': 'update'})

        # Make an authenticated request to the view
        request = factory.put('/snippets/', data=data, format='json')
        force_authenticate(request, user=user)
        response = view(request, pk=snippet_to_update.id)

        self.assertContains(response,
                            text='Hello Put',
                            count=1,
                            status_code=200)
Ejemplo n.º 7
0
    def test_post_new_snippet(self):
        data = {
            "title": "test_post",
            "code": "Hello Post",
            "linenos": False,
            "language": 'python',
            "style": 'friendly'
        }

        factory = APIRequestFactory()
        user = User.objects.get(username='******')
        view = SnippetViewSet.as_view({'post': 'create'})

        # Make an authenticated request to the view
        request = factory.post('/snippets/', data=data, format='json')
        force_authenticate(request, user=user)
        response = view(request)

        self.assertContains(response,
                            text='highlight',
                            count=2,
                            status_code=201)
        self.assertEqual(response.data['owner'], 'joe')
Ejemplo n.º 8
0
# 	url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', views.SnippetHighlight.as_view()),
# ]

# urlpatterns = format_suffix_patterns(urlpatterns)

# urlpatterns += [
#     url(r'^api-auth/', include('rest_framework.urls',
#                                namespace='rest_framework')),
# ]
from django.conf.urls import url, include
from rest_framework.urlpatterns import format_suffix_patterns
from snippets import views
from snippets.views import SnippetViewSet, UserViewSet, api_root
from rest_framework import renderers

snippet_list = SnippetViewSet.as_view({'get': 'list', 'post': 'create'})
snippet_detail = SnippetViewSet.as_view({
    'get': 'retrieve',
    'put': 'update',
    'patch': 'partial_update',
    'delete': 'destroy'
})
snippet_highlight = SnippetViewSet.as_view(
    {'get': 'highlight'}, renderer_classes=[renderers.StaticHTMLRenderer])
user_list = UserViewSet.as_view({'get': 'list'})
user_detail = UserViewSet.as_view({'get': 'retrieve'})

# # API endpoints
# urlpatterns = format_suffix_patterns([
#     url(r'^$', views.api_root),
#     url(r'^snippets/$', views.SnippetList.as_view(), name='snippet-list'),
Ejemplo n.º 9
0
from django.conf.urls import url
from rest_framework.urlpatterns import format_suffix_patterns
from rest_framework import renderers
from snippets.views import SnippetViewSet, UserViewSet, api_root


snippet_list = SnippetViewSet.as_view({
    'get': 'list',
    'post': 'create'
})
snippet_detail = SnippetViewSet.as_view({
    'get': 'retrieve',
    'put': 'update',
    'patch': 'partial_update',
    'delete': 'destroy'
})
snippet_highlight = SnippetViewSet.as_view({
    'get': 'highlight'
}, renderer_classes=[renderers.StaticHTMLRenderer])
user_list = UserViewSet.as_view({
    'get': 'list'
})
user_detail = UserViewSet.as_view({
    'get': 'retrieve'
})

urlpatterns = [
    url(r'^$', api_root),
    url(r'^snippets/$', snippet_list, name='snippet-list'),
    url(r'^snippets/(?P<pk>[0-9]+)/$', snippet_detail, name='snippet-detail'),
    url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', snippet_highlight, name='snippet-highlight'),
Ejemplo n.º 10
0
from django.conf.urls import url, include
from rest_framework.urlpatterns import format_suffix_patterns
from rest_framework import renderers
from snippets.views import SnippetViewSet, UserViewSet, api_root

snippet_list = SnippetViewSet.as_view({
    'get': 'list',
    'post': 'create'
})

snippet_detail = SnippetViewSet.as_view({
    'get': 'retrieve',
    'put' 'update',
    'patch': 'partial_update',
    'delete': 'destroy',
})

snippet_highlight = SnippetViewSet.as_view({
    'get':'highlight'
}, renderer_classes=[renderers.StaticHTMLRenderer])

user_list = UserViewSet.as_view({
    'get':'list'
})

user_detail = UserViewSet.as_view({
    'get': 'retrieve'
}))

urlpatterns = format_suffix_patterns([
        url(r'^$', views.api_root),
Ejemplo n.º 11
0
#     url(r'^snippets/(?P<pk>[0-9]+)/$', views.SnippetDetail.as_view()),
#     url(r'^usrs/$', views.UserList.as_view()),
#     url(r'^usrs/(?P<pk>[0-9]+)/$', views.UserDetail.as_view()),
#     # url(r'^$', views.api_root),
#     url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', views.SnippetHighlight.as_view()),
# ]
#
# urlpatterns = format_suffix_patterns(urlpatterns)
#
# urlpatterns += [
#     url(r'^api-auth/',include('rest_framework.urls',
#                               namespace='rest_framework')),
# ]

snippet_list = SnippetViewSet.as_view({
    'get': 'list',
    'post': 'create'
})
snippet_detail = SnippetViewSet.as_view({
    'get': 'retrieve',
    'put': 'update',
    'patch': 'partial_update',
    'delete': 'destroy'
})
snippet_highlight = SnippetViewSet.as_view({
    'get': 'highlight'
})
user_list = UserViewSet.as_view({
    'get': 'list',
    'post': 'create',
})
Ejemplo n.º 12
0
from snippets.views import SnippetViewSet, UserViewSet, api_root
from rest_framework import renderers

snippet_list = SnippetViewSet.as_view({"get": "list", "post": "create"})

snippet_detail = SnippetViewSet.as_view({
    "get": "retrieve",
    "put": "update",
    "patch": "partial_update",
    "delete": "destroy"
})

snippet_highlight = SnippetViewSet.as_view(
    {"get": "highlight"}, renderer_class=[renderers.StatucHTMLRenderer])

user_list = UserViewSet.as_view({
    "get": "list",
})

user_detail = UserViewSet.as_view({"get": "retrieve"})

urlpatterns = format_suffix_patterns([
    url(r'^$', views.api_root),
    url(r'^snippets/$', snippet_list, name='snippet-list'),
    url(r'^snippets/(?P<pk>\d+)$', snippet_detail, name='snippet-detail'),
    url(r'^snippets/(?P<pk>\d+)/highlight/$',
        snippet_highlight,
        name='snippet-highlight'),
    url(r'^users/$', user_list, name='user-list'),
    url(r'^users/(?P<pk>\d+)/$', user_detail, name='user-detail'),
])
Ejemplo n.º 13
0
from django.urls import path
from rest_framework.urlpatterns import format_suffix_patterns
from snippets import views

from django.conf.urls import include

from snippets.views import SnippetViewSet, UserViewSet

snippet_list = SnippetViewSet.as_view({'get': 'list', 'post': 'create'})
snippet_detail = SnippetViewSet.as_view({
    'get': 'retrieve',
    'put': 'update',
    'patch': 'partial_update',
    'delete': 'destroy'
})

user_list = UserViewSet.as_view({'get': 'list'})
user_detail = UserViewSet.as_view({'get': 'retrieve'})

# urlpatterns = [
#     path('snippets/', views.SnippetList.as_view(), name='snippet-list'),
#     path('snippets/<int:pk>/', views.SnippetDetail.as_view(), name='snippet-detail'),
#     path('user/', views.UserList.as_view(), name='user-list'),
#     path('user/<int:pk>/', views.UserDetail.as_view(), name='user-detail'),
#     path('', views.api_root),
# ]

urlpatterns = [
    path('snippets/', snippet_list, name='snippet-list'),
    path('snippets/<int:pk>/', snippet_detail, name='snippet-detail'),
    path('user/', user_list, name='user-list'),
Ejemplo n.º 14
0
from django.conf.urls import url, include

from rest_framework import renderers
from rest_framework.routers import DefaultRouter
from rest_framework.urlpatterns import format_suffix_patterns

from snippets import views
from snippets.views import SnippetViewSet, UserViewSet, api_root

# viewsets
snippet_list = SnippetViewSet.as_view({"get": "list", "post": "create"})

snippet_detail = SnippetViewSet.as_view(
    {"get": "retrieve", "put": "update", "patch": "partial_update", "delete": "destroy"}
)

snippet_highlight = SnippetViewSet.as_view({"get": "hightlight"}, renderer_classes=[renderers.StaticHTMLRenderer])

user_list = UserViewSet.as_view({"get": "list"})

user_detail = UserViewSet.as_view({"get": "retrieve"})

# Create a router and register our viewsets with it.
router = DefaultRouter()
router.register(r"snippets", view.SnippetViewSet)
router.register(r"users", view.UserViewSet)

urlpatterns = [
    url(r"^$", views.api_root),
    # replaced by router
    # url(r'^snippets/$', snippet_list, name='snippet-list'),
Ejemplo n.º 15
0
from snippets.views import SnippetViewSet, UserViewSet, api_root
from rest_framework import renderes

snippet_list = SnippetViewSet.as_view({
	'get': 'list',
	'post': 'create'
})
snippet_detail = SnippetViewSet.as_view({
	'get': 'retrieve'
	'put': 'update'
	'patch': 'partial_update', 
	'delete': 'destroy'	
})
snippet_highlight = SnippetViewSet.as_view({
	'get': 'highlight'
}, renderer_classes=[renderes.StaticHTMLRenderer])
user_list = UserViewSet.as_view({
	'get': 'list'
})
user_detail = UserViewSet.as_view({
	'get': 'retrieve'
	})

urlpatterns = format_suffix_patterns([
	url(r'^$', api_root),
	url(r'^snippets/$', snippet_list, name='snippet_list'),
	url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', snippet_highlight, name='snippet_highlight'),
	url(r'^users/$' user_list, name='user-list'),
	url(r'^users/(?P<pk>[0-9]+)/$', user_detail, name='user-detail')
	])