test_process.py 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. '''
  2. '''
  3. import datetime
  4. import tempfile
  5. import unittest
  6. from path import Path
  7. from tests import HERE
  8. from core import constants, config
  9. from core.process import process
  10. class Test(unittest.TestCase):
  11. def loadconfig(self):
  12. constants.USER_DATA_PATH = HERE / r"rsc\test_process\userdata.yaml"
  13. config.load()
  14. def test_process(self):
  15. self.loadconfig()
  16. xmlpath = HERE / r"rsc\test_process\testfile.xml"
  17. with tempfile.TemporaryDirectory() as outputdir:
  18. outputdir = Path(outputdir)
  19. config.CONFIG["repertoire_sortie"] = outputdir
  20. # Returned results
  21. files, mails = process(xmlpath)
  22. self.assertEqual(files, [outputdir / r'testfile\Recepisse_DICT.pdf',
  23. outputdir / r'testfile\Recepisse_DT.pdf'])
  24. # mails
  25. mail1, mail2 = mails
  26. self.assertEqual(mail1.to, 'dict@spacex.net')
  27. self.assertEqual(mail1.subject, 'Réponse à la demande 000001')
  28. self.assertEqual(mail1.content, 'Veuillez trouver ci-joint la réponse à votre demande.\nCordialement,')
  29. self.assertEqual(mail1.attachments, [])
  30. self.assertEqual(mail2.to, 'dt@spacex.net')
  31. self.assertEqual(mail2.subject, 'Réponse à la demande 000001')
  32. self.assertEqual(mail2.content, 'Veuillez trouver ci-joint la réponse à votre demande.\nCordialement,')
  33. self.assertEqual(mail2.attachments, [])
  34. # Generated files
  35. outputdir /= 'testfile'
  36. self.assertTrue(Path(outputdir / 'contact.txt').exists())
  37. with open(outputdir / 'contact.txt') as f:
  38. self.assertEqual(f.read(), "dict@spacex.net\ndt@spacex.net")
  39. self.assertTrue(Path(outputdir / 'data.fdf').exists())
  40. with open(outputdir / 'data.fdf') as f, open(HERE / r'rsc\test_process\ref.fdf') as fref:
  41. today = datetime.date.today()
  42. self.assertEqual(f.read(), fref.read().format(day=today.day,
  43. month=today.month,
  44. year=today.year))
  45. self.assertTrue(Path(outputdir / 'testfile.xml').exists())
  46. with open(xmlpath) as f1, open(outputdir / 'testfile.xml') as f2:
  47. self.assertEqual(f1.read(), f2.read())
  48. self.assertTrue(Path(outputdir / 'Recepisse_DICT.pdf').exists())
  49. self.assertTrue(Path(outputdir / 'Recepisse_DT.pdf').exists())
  50. if __name__ == "__main__":
  51. unittest.main()