OCA reporting engine fork for dev and update.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
1.5 KiB

8 years ago
8 years ago
  1. # -*- coding: utf-8 -*-
  2. # Copyright 2016 ACSONE SA/NV
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).).
  4. import mock
  5. from openerp.tests.common import TransactionCase
  6. import openerp.tests
  7. class TestReportPy3o(TransactionCase):
  8. def test_reports(self):
  9. report = self.env.ref("report_py3o.res_users_report_py3o")
  10. with mock.patch('openerp.addons.report_py3o.py3o_parser.'
  11. 'Py3oParser.create_single_pdf') as patched_pdf:
  12. # test the call the the create method inside our custom parser
  13. report.render_report(self.env.user.ids,
  14. report.report_name,
  15. {})
  16. self.assertEqual(1, patched_pdf.call_count)
  17. res = report.render_report(
  18. self.env.user.ids, report.report_name, {})
  19. self.assertTrue(res)
  20. py3o_server = self.env['py3o.server'].create({"url": "http://dummy"})
  21. # check the call to the fusion server
  22. report.write({"py3o_filetype": "pdf",
  23. "py3o_server_id": py3o_server.id})
  24. with mock.patch('requests.post') as patched_post:
  25. magick_response = mock.MagicMock()
  26. magick_response.status_code = 200
  27. patched_post.return_value = magick_response
  28. magick_response.iter_content.return_value = "test result"
  29. res = report.render_report(
  30. self.env.user.ids, report.report_name, {})
  31. self.assertEqual(('test result', '.pdf'), res)