test_wikipedia_searcher.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import unittest
  2. from kalliope.core.NeuronModule import InvalidParameterException
  3. from kalliope.neurons.wikipedia_searcher import Wikipedia_searcher
  4. class TestWikipediaSearcher(unittest.TestCase):
  5. def setUp(self):
  6. pass
  7. def test_parameters(self):
  8. def run_test(parameters_to_test):
  9. with self.assertRaises(InvalidParameterException):
  10. Wikipedia_searcher(**parameters_to_test)
  11. parameters = dict()
  12. run_test(parameters)
  13. # sentences must be an integer
  14. parameters = {
  15. "language": "en",
  16. "query": "this is the query",
  17. "sentences": "invalid"
  18. }
  19. run_test(parameters)
  20. # test non existing language
  21. parameters = {
  22. "language": "foo",
  23. "query": "this is the query",
  24. "sentences": 1
  25. }
  26. run_test(parameters)
  27. def test_get_DisambiguationError(self):
  28. parameters = {
  29. "language": "fr",
  30. "query": "bot",
  31. "sentences": 1
  32. }
  33. wiki = Wikipedia_searcher(**parameters)
  34. self.assertEqual(wiki.returncode, "DisambiguationError")
  35. def test_page_error(self):
  36. parameters = {
  37. "language": "fr",
  38. "query": "fudu foo bar non exist",
  39. "sentences": 1
  40. }
  41. wiki = Wikipedia_searcher(**parameters)
  42. self.assertEqual(wiki.returncode, "PageError")
  43. def test_summary_found(self):
  44. parameters = {
  45. "language": "fr",
  46. "query": "kalliope"
  47. }
  48. wiki = Wikipedia_searcher(**parameters)
  49. self.assertEqual(wiki.returncode, "SummaryFound")
  50. if __name__ == '__main__':
  51. unittest.main()