Beispiel #1
0
 def test(self):
     requester = User.objects.create_user('ownow', '*****@*****.**', 'mypassword')
     request = toolbox.add_request('abc', requester=requester)
     token = toolbox.create_token(request)
     data = toolbox.get_default_signer().load(token)
     self.assertEquals(data.get('id'), '%s' % request.id)
     self.assertEquals(data.get('requester'), requester.id)
     # Now with additional data
     additional_data = {'abc': 123, 'z': ['y', 'z', 1]}
     token = toolbox.create_token(request, data=additional_data)
     data = toolbox.get_default_signer().load(token)
     additional_data['id'] = '%s' % request.id
     additional_data['requester'] = requester.id
     self.assertDictEqual(data, additional_data)
Beispiel #2
0
 def test(self):
     requester = User.objects.create_user('ownow', '*****@*****.**',
                                          'mypassword')
     request = toolbox.add_request('abc', requester=requester)
     token = toolbox.create_token(request)
     data = toolbox.get_default_signer().load(token)
     self.assertEquals(data.get('id'), '%s' % request.id)
     self.assertEquals(data.get('requester'), requester.id)
     # Now with additional data
     additional_data = {'abc': 123, 'z': ['y', 'z', 1]}
     token = toolbox.create_token(request, data=additional_data)
     data = toolbox.get_default_signer().load(token)
     additional_data['id'] = '%s' % request.id
     additional_data['requester'] = requester.id
     self.assertDictEqual(data, additional_data)
Beispiel #3
0
 def test_request_does_not_exist(self):
     request = toolbox.add_request('abc', requester=self.user)
     token = toolbox.create_token(request)
     request.delete()
     http_request = self.factory.get('/something')
     http_request.user = self.user
     self.assertRaises(Http404, serve_file, http_request, token)
Beispiel #4
0
 def test_request_does_not_exist(self):
     request = toolbox.add_request('abc', requester=self.user)
     token = toolbox.create_token(request)
     request.delete()
     http_request = self.factory.get('/something')
     http_request.user = self.user
     self.assertRaises(Http404, serve_file, http_request, token)
Beispiel #5
0
 def test_invalid_token(self):
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = self.user
         self.assertRaises(SuspiciousToken, serve_file, http_request, token + 'a')
Beispiel #6
0
 def test_invalid_token(self):
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = self.user
         self.assertRaises(SuspiciousToken, serve_file, http_request,
                           token + 'a')
Beispiel #7
0
 def test_other_user(self):
     other_user = User.objects.create_user('oho', '*****@*****.**', 'nono')
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = other_user
         self.assertRaises(UserIsNotRequester, serve_file, http_request, token)
Beispiel #8
0
 def test_token_expired(self, decode_mock):
     decode_mock.side_effect = SignatureExpired
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = self.user
         self.assertRaises(SignatureHasExpired, serve_file, http_request, token)
Beispiel #9
0
 def test_token_expired(self, decode_mock):
     decode_mock.side_effect = SignatureExpired
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = self.user
         self.assertRaises(SignatureHasExpired, serve_file, http_request,
                           token)
Beispiel #10
0
 def test_other_user_with_no_verification(self):
     other_user = User.objects.create_user('oho', '*****@*****.**', 'nono')
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = other_user
         response = serve_file(http_request, token, verify_requester=False)
         self.assertEqual(response.status_code, 200)
Beispiel #11
0
 def test_other_user_with_no_verification(self):
     other_user = User.objects.create_user('oho', '*****@*****.**',
                                           'nono')
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = other_user
         response = serve_file(http_request, token, verify_requester=False)
         self.assertEqual(response.status_code, 200)
Beispiel #12
0
 def test_other_user(self):
     other_user = User.objects.create_user('oho', '*****@*****.**',
                                           'nono')
     with override_settings(MEDIA_ROOT=self.tempdir, MEDIA_URL='/'):
         request = toolbox.add_request('abc', requester=self.user)
         toolbox.attach_file(request, ContentFile(b'abc'))
         token = toolbox.create_token(request)
         http_request = self.factory.get('/something')
         http_request.user = other_user
         self.assertRaises(UserIsNotRequester, serve_file, http_request,
                           token)
Beispiel #13
0
 def test(self):
     requester = User.objects.create_user('ownow', '*****@*****.**', 'mypassword')
     request = toolbox.add_request('abc', requester=requester)
     token = toolbox.create_token(request)
     # Clear the requester
     request.requester = None
     request.save()
     self.assertRaises(FileRequest.DoesNotExist, toolbox.decode, token, require_requester=True)
     request.requester = requester
     request.save()
     found, data = toolbox.decode(token, require_requester=True)
     self.assertEqual(found, request)
Beispiel #14
0
 def test(self):
     requester = User.objects.create_user('ownow', '*****@*****.**',
                                          'mypassword')
     request = toolbox.add_request('abc', requester=requester)
     token = toolbox.create_token(request)
     # Clear the requester
     request.requester = None
     request.save()
     self.assertRaises(FileRequest.DoesNotExist,
                       toolbox.decode,
                       token,
                       require_requester=True)
     request.requester = requester
     request.save()
     found, data = toolbox.decode(token, require_requester=True)
     self.assertEqual(found, request)