34 lines
1.5 KiB
Python
34 lines
1.5 KiB
Python
import unittest
|
|
|
|
from breach.query import mask_pass, mask_pass_justin_rule
|
|
|
|
|
|
class ParserTest(unittest.TestCase):
|
|
|
|
def test_mask_password(self):
|
|
self.assertEqual('123456**654321', mask_pass('12345688654321', num_asterisks=2))
|
|
self.assertEqual('123456***54321', mask_pass('12345688654321', num_asterisks=3))
|
|
self.assertEqual('12345****54321', mask_pass('12345688654321', num_asterisks=4))
|
|
self.assertEqual('12**********21', mask_pass('12345688654321', num_asterisks=10))
|
|
self.assertEqual('1************1', mask_pass('12345688654321', num_asterisks=12))
|
|
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=14))
|
|
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=18))
|
|
self.assertEqual('**************', mask_pass('12345688654321', num_asterisks=99))
|
|
self.assertEqual('1234568*654321', mask_pass('12345688654321', num_asterisks=1))
|
|
self.assertEqual('12345688654321', mask_pass('12345688654321', num_asterisks=0))
|
|
|
|
def test_mask_password_justin(self):
|
|
expected = 'il**********m'
|
|
initial = 'iloveicecream'
|
|
assert len(expected) == len(initial)
|
|
self.assertEqual(expected, mask_pass_justin_rule(initial, num_asterisks=-1))
|
|
|
|
expected = 'm****n'
|
|
initial = 'martin'
|
|
assert len(expected) == len(initial)
|
|
self.assertEqual(expected, mask_pass_justin_rule(initial, num_asterisks=-1))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|