PageRenderTime 101ms CodeModel.GetById 41ms RepoModel.GetById 1ms app.codeStats 0ms

/shabti/templates/microsite/+package+/tests/functional/test_permissionadmin_auth.py_tmpl

https://bitbucket.org/gawel/shabti
Unknown | 90 lines | 59 code | 31 blank | 0 comment | 0 complexity | 8607c5f0e04b338ff68989efd363bae1 MD5 | raw file
  1. # microsite/tests/functional/test_permissionadmin_auth
  2. from pylons import url
  3. from {{package}}.model import *
  4. from {{package}}.tests import *
  5. class TestPermissionAuthAdminController(TestAuthenticatedController):
  6. def test_authorised_permission_GET_allowed(self):
  7. """PermissionAuthAdmin (microsite): authorised permission GET requests are permitted"""
  8. response = self.app.get(url('show_permission', id=1))
  9. assert response.status_int == 200
  10. def test_authorised_permission_GET_nonexistent_prohibited(self):
  11. """PermissionAuthAdmin (microsite): authorised but improper page GET requests are prohibited"""
  12. response = self.app.get(url('show_permission', id=20),
  13. status=404,
  14. expect_errors=True)
  15. assert response.status_int == 404
  16. def test_authorised_permission_GET_update_prohibited(self):
  17. """PermissionAuthAdmin (microsite): authorised permission GET update requests are prohibited"""
  18. response = self.app.get(url('save_permission', id='1'),
  19. params={'name': 'Fake Name'},
  20. status=404,
  21. expect_errors=True)
  22. assert response.status_int == 404
  23. def test_authorised_permission_GET_delete_prohibited(self):
  24. """PermissionAuthAdmin (microsite): authorised permission GET delete requests are prohibited"""
  25. response = self.app.get(url('delete_permission', id=1),
  26. status=404,
  27. expect_errors=True)
  28. assert Session.query(User).get(1) != None
  29. def test_authorised_permission_DELETE_nonexistent_prohibited(self):
  30. """PermissionAuthAdmin (microsite): authorised deletions of non-existent users are prohibited"""
  31. response = self.app.delete(url('delete_permission', id='4'),
  32. status=404,
  33. expect_errors=True)
  34. assert response.status_int == 404
  35. def test_authorised_permission_PUT_update_allowed(self):
  36. """PermissionAuthAdmin (microsite): authorised permission POST updated requests are permitted"""
  37. d = dict(name=u"Fake Name", _method="PUT",
  38. description=u"Fake description")
  39. response = self.app.put(url('save_permission', id=1),params=d)
  40. newresponse = response.follow()
  41. name1 = newresponse.forms.get('permission_form').fields.get('name', '')[0].value
  42. assert name1 == 'Fake Name'
  43. def test_authorised_permission_POST_create_allowed(self):
  44. """PermissionAuthAdmin (microsite): authorised permission PUT(POST) create requests are permitted"""
  45. # Step one, retrieve the resource from /user/new ..
  46. response = self.app.get(url('new_permission'))
  47. form = response.forms.get('new_permission_form')
  48. d = dict(name=u"Fake name",
  49. description=u'Fake description')
  50. # Step two, insert the new values
  51. for k in d.keys():
  52. form.set(k, d[k])
  53. # Step 4, submit the form and test the database for
  54. # the expected addition
  55. res = form.submit()
  56. newperms = Session.query(Permission).filter_by(name=u'Fake name').all()
  57. assert len(newperms) == 1
  58. assert newperms[0].name == u'Fake name'
  59. # --- Added by Shabti microsite template