test_validator.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from src.validation.validator import validator
  2. from src.errors.argument_exception import argument_exception
  3. import unittest
  4. class test_validator(unittest.TestCase):
  5. def test_validator_typeguard(self):
  6. """Проверить работоспособность settings_validation.check_type()"""
  7. # Подготовка
  8. vtor = validator()
  9. # Действие
  10. # Проверка
  11. assert vtor.check_type("", str)
  12. self.assertRaises(argument_exception, lambda: vtor.check_type("", int))
  13. def test_validator_len_exact(self):
  14. """Проверить работоспособность settings_validator.check_length()"""
  15. # Подготовка
  16. vtor = validator()
  17. # Действие
  18. # Проверка
  19. assert vtor.check_length("aa", 2)
  20. self.assertRaises(argument_exception, lambda: vtor.check_length("aa", 1))
  21. self.assertRaises(argument_exception, lambda: vtor.check_length("aa", 3))
  22. def test_validator_len_int(self):
  23. """Проверить работоспособность settings_validator.check_length() при передаче int"""
  24. # Подготовка
  25. vtor = validator()
  26. # Действие
  27. # Проверка
  28. assert vtor.check_length(10, 2)
  29. self.assertRaises(argument_exception, lambda: vtor.check_length(10, 1))
  30. self.assertRaises(argument_exception, lambda: vtor.check_length(10, 3))
  31. def test_validator_len_bound(self):
  32. """Проверить работоспособность settings_validator.check_length_bound()"""
  33. # Подготовка
  34. vtor = validator()
  35. # Действие
  36. # Проверка
  37. # Вхождение в минимум
  38. assert vtor.check_length_bound("abc", 3, 10)
  39. # Вхождение в максимум
  40. assert vtor.check_length_bound("abc", 1, 3)
  41. # Невхождение в максимум
  42. self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 1, 2))
  43. # Невхождение в минимум
  44. self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 4, 5))
  45. # Невхождение в исключительный минимум
  46. self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 3, 5, inclusive_min=False))
  47. # Невхождение в исключительный максимум
  48. self.assertRaises(argument_exception, lambda: vtor.check_length_bound("abc", 1, 3, inclusive_max=False))
  49. def test_validator_regex(self):
  50. """Проверить работоспособность settings_validator.check_regex()"""
  51. # Подготовка
  52. vtor = validator()
  53. # Действие
  54. # Проверка
  55. assert vtor.check_regex("abc", ".*b[c]+")
  56. self.assertRaises(argument_exception, lambda: vtor.check_regex("abc", ".*b[c]+[a]+"))