PageRenderTime 43ms CodeModel.GetById 14ms RepoModel.GetById 0ms app.codeStats 1ms

/docs/tutorials/wiki/src/authorization/tutorial/tests.py

https://gitlab.com/goolic/pyramid
Python | 123 lines | 105 code | 18 blank | 0 comment | 0 complexity | 8e7b7b5b72516e5cebd09af92a1f3854 MD5 | raw file
  1. import unittest
  2. from pyramid import testing
  3. class PageModelTests(unittest.TestCase):
  4. def _getTargetClass(self):
  5. from .models import Page
  6. return Page
  7. def _makeOne(self, data=u'some data'):
  8. return self._getTargetClass()(data=data)
  9. def test_constructor(self):
  10. instance = self._makeOne()
  11. self.assertEqual(instance.data, u'some data')
  12. class WikiModelTests(unittest.TestCase):
  13. def _getTargetClass(self):
  14. from .models import Wiki
  15. return Wiki
  16. def _makeOne(self):
  17. return self._getTargetClass()()
  18. def test_it(self):
  19. wiki = self._makeOne()
  20. self.assertEqual(wiki.__parent__, None)
  21. self.assertEqual(wiki.__name__, None)
  22. class AppmakerTests(unittest.TestCase):
  23. def _callFUT(self, zodb_root):
  24. from .models import appmaker
  25. return appmaker(zodb_root)
  26. def test_it(self):
  27. root = {}
  28. self._callFUT(root)
  29. self.assertEqual(root['app_root']['FrontPage'].data,
  30. 'This is the front page')
  31. class ViewWikiTests(unittest.TestCase):
  32. def test_it(self):
  33. from .views import view_wiki
  34. context = testing.DummyResource()
  35. request = testing.DummyRequest()
  36. response = view_wiki(context, request)
  37. self.assertEqual(response.location, 'http://example.com/FrontPage')
  38. class ViewPageTests(unittest.TestCase):
  39. def _callFUT(self, context, request):
  40. from .views import view_page
  41. return view_page(context, request)
  42. def test_it(self):
  43. wiki = testing.DummyResource()
  44. wiki['IDoExist'] = testing.DummyResource()
  45. context = testing.DummyResource(data='Hello CruelWorld IDoExist')
  46. context.__parent__ = wiki
  47. context.__name__ = 'thepage'
  48. request = testing.DummyRequest()
  49. info = self._callFUT(context, request)
  50. self.assertEqual(info['page'], context)
  51. self.assertEqual(
  52. info['content'],
  53. '<div class="document">\n'
  54. '<p>Hello <a href="http://example.com/add_page/CruelWorld">'
  55. 'CruelWorld</a> '
  56. '<a href="http://example.com/IDoExist/">'
  57. 'IDoExist</a>'
  58. '</p>\n</div>\n')
  59. self.assertEqual(info['edit_url'],
  60. 'http://example.com/thepage/edit_page')
  61. class AddPageTests(unittest.TestCase):
  62. def _callFUT(self, context, request):
  63. from .views import add_page
  64. return add_page(context, request)
  65. def test_it_notsubmitted(self):
  66. context = testing.DummyResource()
  67. request = testing.DummyRequest()
  68. request.subpath = ['AnotherPage']
  69. info = self._callFUT(context, request)
  70. self.assertEqual(info['page'].data,'')
  71. self.assertEqual(
  72. info['save_url'],
  73. request.resource_url(context, 'add_page', 'AnotherPage'))
  74. def test_it_submitted(self):
  75. context = testing.DummyResource()
  76. request = testing.DummyRequest({'form.submitted':True,
  77. 'body':'Hello yo!'})
  78. request.subpath = ['AnotherPage']
  79. self._callFUT(context, request)
  80. page = context['AnotherPage']
  81. self.assertEqual(page.data, 'Hello yo!')
  82. self.assertEqual(page.__name__, 'AnotherPage')
  83. self.assertEqual(page.__parent__, context)
  84. class EditPageTests(unittest.TestCase):
  85. def _callFUT(self, context, request):
  86. from .views import edit_page
  87. return edit_page(context, request)
  88. def test_it_notsubmitted(self):
  89. context = testing.DummyResource()
  90. request = testing.DummyRequest()
  91. info = self._callFUT(context, request)
  92. self.assertEqual(info['page'], context)
  93. self.assertEqual(info['save_url'],
  94. request.resource_url(context, 'edit_page'))
  95. def test_it_submitted(self):
  96. context = testing.DummyResource()
  97. request = testing.DummyRequest({'form.submitted':True,
  98. 'body':'Hello yo!'})
  99. response = self._callFUT(context, request)
  100. self.assertEqual(response.location, 'http://example.com/')
  101. self.assertEqual(context.data, 'Hello yo!')