test_module_assertions.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # -*- coding: utf-8 -*-
  2. import copy
  3. import subprocess
  4. from grass.pygrass.modules import Module
  5. import grass.gunittest
  6. from grass.gunittest.gmodules import CalledModuleError
  7. class TestModuleAssertions(grass.gunittest.TestCase):
  8. # pylint: disable=R0904
  9. def setUp(self):
  10. self.rinfo = Module('r.info', map='elevation', flags='g',
  11. stdout_=subprocess.PIPE, run_=False)
  12. self.rinfo_wrong = copy.deepcopy(self.rinfo)
  13. self.wrong_map = 'does_not_exists'
  14. self.rinfo_wrong.inputs['map'].value = self.wrong_map
  15. def test_runModule(self):
  16. self.runModule(self.rinfo)
  17. self.assertTrue(self.rinfo.outputs['stdout'].value)
  18. self.assertRaises(CalledModuleError, self.runModule, self.rinfo_wrong)
  19. def test_assertModule(self):
  20. self.assertModule(self.rinfo)
  21. self.assertTrue(self.rinfo.outputs['stdout'].value)
  22. self.assertRaises(self.failureException, self.assertModule, self.rinfo_wrong)
  23. def test_assertModuleFail(self):
  24. self.assertModuleFail(self.rinfo_wrong)
  25. stderr = self.rinfo_wrong.outputs['stderr'].value
  26. self.assertTrue(stderr)
  27. self.assertIn(self.wrong_map, stderr)
  28. self.assertRaises(self.failureException, self.assertModuleFail, self.rinfo)
  29. if __name__ == '__main__':
  30. grass.gunittest.test()