def test_api_token(self): auth = APITokenAuthentication() request = HttpRequest() request.META = {} request.GET = {} self.assertTrue(not auth.is_authenticated(request)) request.POST = {} self.assertTrue(not auth.is_authenticated(request)) api_token = APIToken.get_user_token(self.user) request.GET['token'] = api_token request.GET['username'] = self.user.username self.assertTrue(auth.is_authenticated(request)) request.GET = {} request.POST['token'] = api_token request.POST['username'] = self.user.username self.assertTrue(auth.is_authenticated(request))
def test_api_token(self): auth = APITokenAuthentication() request = HttpRequest() request.META = {} request.GET = {} self.assertTrue(not auth.is_authenticated(request)) request.POST = {} self.assertTrue(not auth.is_authenticated(request)) api_token = APIToken.get_user_token(self.user) request.GET['token'] = api_token request.GET['username'] = self.user.username self.assertTrue(auth.is_authenticated(request)) request.GET = {} request.POST['token'] = api_token request.POST['username'] = self.user.username self.assertTrue(auth.is_authenticated(request))
from django.conf.urls.defaults import * from piston.resource import Resource #from piston.authentication import HttpBasicAuthentication from piston.doc import documentation_view from kns.api.authentication import APITokenAuthentication, MyHttpBasicAuthentication from kns.api.handlers import KnowledgeHandler, UserHandler, APITokenHandler api_token_auth = APITokenAuthentication() knowledge_resource = Resource(handler=KnowledgeHandler, authentication=api_token_auth) user_resource = Resource(handler=UserHandler) auth = MyHttpBasicAuthentication(realm="API") apitoken_resource = Resource(handler=APITokenHandler, authentication=auth) urlpatterns = patterns( '', url(r'^user/$', user_resource, name="user"), url(r'^knowledge/$', knowledge_resource, name="knowledge"), url(r'^apitoken/$', apitoken_resource, name="apitoken"), )
def test_challenge(self): auth = APITokenAuthentication() resp = auth.challenge() self.assertEqual(resp.status_code, 401)