socek

UnpackRequest - tests

Jan 30th, 2014
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.22 KB | None | 0 0
  1. from mock import MagicMock
  2. from soktest import TestCase
  3.  
  4. from .. import decorators
  5.  
  6.  
  7. class WrongParameterTest(TestCase):
  8.  
  9.     def test_init(self):
  10.         """Should set the name"""
  11.         error = decorators.WrongParameter('name')
  12.         self.assertEqual('name', error.parameter_name)
  13.  
  14.     def test_tostr(self):
  15.         """Should return name"""
  16.         error = decorators.WrongParameter('name')
  17.         self.assertEqual('name', str(error))
  18.  
  19.  
  20. class GetAvalibleArgsTest(TestCase):
  21.  
  22.     def test_good(self):
  23.         """Should return dict of all the avalible arguments"""
  24.         request = MagicMock()
  25.         result = decorators.get_avalible_args(request)
  26.         self.assertEqual(request, result['request'])
  27.         self.assertEqual(request.POST, result['POST'])
  28.         self.assertEqual(request.GET, result['GET'])
  29.         self.assertEqual(request.matchdict, result['matchdict'])
  30.         self.assertEqual(request.db, result['db'])
  31.         self.assertEqual(request.registry['settings'], result['settings'])
  32.         self.assertEqual(request.session, result['session'])
  33.         self.assertEqual(request.user, result['user'])
  34.  
  35.  
  36. class GetKwargsTest(TestCase):
  37.  
  38.     def setUp(self):
  39.         super(GetKwargsTest, self).setUp()
  40.         self.request = MagicMock()
  41.         self.avalible = decorators.get_avalible_args(self.request)
  42.  
  43.     def test_success(self):
  44.         """Should return dict of selected arguments."""
  45.         kwargs = decorators.get_kwargs(self.avalible, ['request', 'POST'])
  46.         self.assertEqual(self.request, kwargs['request'])
  47.         self.assertEqual(self.request.POST, kwargs['POST'])
  48.  
  49.     def test_fail(self):
  50.         """Should raise error when argument has a wrong name"""
  51.         self.assertRaises(decorators.WrongParameter, decorators.get_kwargs,
  52.                           self.avalible, ['request', 'something else'])
  53.  
  54.  
  55. class UnpackRequestTest(TestCase):
  56.  
  57.     def test_success(self):
  58.         """Should provide method with needed arguments."""
  59.         def example_method(user):
  60.             return user
  61.  
  62.         request = MagicMock()
  63.         example_method
  64.  
  65.         fun = decorators.UnpackRequest(example_method)
  66.         user = fun(request)
  67.  
  68.         self.assertEqual(request.user, user)
Advertisement
Add Comment
Please, Sign In to add comment