Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
 
 
 
 
 
 

41 lignes
1.2 KiB

  1. import unittest
  2. import pexpect
  3. import signal
  4. import time
  5. import sys
  6. import argparse
  7. from lesspass.cli import range_type
  8. class TestFunctional(unittest.TestCase):
  9. def test_length_below_the_minimum(self):
  10. p = pexpect.spawn(
  11. "python3 lesspass/core.py site login masterpassword --lowercase --digits --length 2"
  12. )
  13. output = p.read().decode()
  14. self.assertTrue("error: argument -L/--length: 2 is out of range, choose in [5-35]" in output)
  15. def test_length_range_type(self):
  16. self.assertEqual(range_type('5'), 5)
  17. self.assertEqual(range_type('35'), 35)
  18. with self.assertRaises(argparse.ArgumentTypeError):
  19. range_type('2')
  20. def test_exclude(self):
  21. p = pexpect.spawn(
  22. 'python3 lesspass/core.py site login masterpassword --exclude "!@$*+-8"'
  23. )
  24. output = p.read().decode()
  25. for c in "!@$*+-8":
  26. self.assertTrue(c not in output)
  27. def test_exclude(self):
  28. p = pexpect.spawn(
  29. 'python3 lesspass/core.py site login masterpassword -d -L6 --exclude "0123456789"'
  30. )
  31. output = p.read().decode()
  32. self.assertTrue("error: you can't exclude all chars available" in output)