Ejemplo n.º 1
0
 def test_stdin_random_error(self, mocker, capsys):
     mock = mocker.patch('scram.scrammer.input',
                         side_effect=TypeError('random'))
     scrammer.main([])
     assert mock.call_count == 1
     captured = capsys.readouterr().err
     assert captured.strip() == 'random'
Ejemplo n.º 2
0
 def test_multi_stdin_mode_no_gen_salt(self, mocker):
     mocker.patch('scram.scrammer.input',
                  side_effect=['pencil'] * 10 + [''])
     mocked_salter = mocker.patch('scram.scrammer.gen_salt',
                                  return_value=self.SALT)
     scrammer.main(['-s', '1234'])
     assert mocked_salter.call_count == 0
Ejemplo n.º 3
0
 def test_stdin_pencil_to_stdout(self, mocker, capsys):
     mocked_input = mocker.patch('scram.scrammer.input')
     mocked_input.side_effect = ['pencil', '']
     scrammer.main(['-s', self.PENCIL_SALT])
     assert mocked_input.call_count == 2
     out = capsys.readouterr().out
     line = out.split()[0]
     assert line == self.PENCIL_HEX
Ejemplo n.º 4
0
 def test_stdin_pencil_to_file(self, mocker, tmp_path):
     mocked_input = mocker.patch('scram.scrammer.input')
     mocked_input.side_effect = ['pencil', '']
     file = tmp_path / 'stdin_one.txt'
     scrammer.main(['-s', self.PENCIL_SALT, '-o', str(file)])
     assert os.path.exists(file)
     with open(file) as content:
         line = content.read().split()[0]
         assert line == self.PENCIL_HEX
Ejemplo n.º 5
0
 def test_pencil_hashcat(self, capsys):
     """
     test pencil with hashcat output
     """
     scrammer_args = [
         'pencil', '-s', 'QSXCR+Q6sek8bf92', '--format', 'hashcat'
     ]
     scrammer.main(scrammer_args)
     captured = capsys.readouterr()
     out = captured.out
     assert out.strip(
     ) == '4096:QSXCR+Q6sek8bf92:6dlGYMOdZcOPutkcNY8U2g7vK9Y='
Ejemplo n.º 6
0
 def test_stdin_multiple_to_stdout(self, mocker, capsys):
     """
     tests for interactive input
     """
     mocked_input = mocker.patch('scram.scrammer.input')
     mocked_input.side_effect = ['pencil', 'pencil', '']
     scrammer.main(['-s', self.PENCIL_SALT])
     assert mocked_input.call_count == 3
     captured = capsys.readouterr()
     out = captured.out
     lines = [line for line in out.split() if line != '']
     for line in lines:
         assert line == self.PENCIL_HEX
Ejemplo n.º 7
0
 def test_small_dictionary(self, capsys):
     file_path = RESOURCES / 'small_dictionary.txt'
     scrammer_args = ['-f', str(file_path), '-s', '1234', '--format', 'hex']
     scrammer.main(scrammer_args)
     captured = capsys.readouterr()
     out = captured.out
     correct = [
         'c89a8efabda245d57e178bbf1b23a0fb282301f7',
         '7bcc94a7fad21b166a46ea5f6e7ace3a53f83583',
         '1907d2a38a46200722a30e9f2c3c20edf20a051e',
         'd63705b127777e7aa8ace460a5aa1c6a91051a55',
         '29a7bca35ab4817e9460506912c1d3e69c8efcb0'
     ]
     for ind, line in enumerate(out.split()):
         line = line.strip()
         assert line == correct[ind]
Ejemplo n.º 8
0
 def test_pencil_b64(self, capsys):
     scrammer_args = ['pencil', '-s', 'QSXCR+Q6sek8bf92', '--format', 'b64']
     scrammer.main(scrammer_args)
     captured = capsys.readouterr()
     out = captured.out
     assert out.strip() == '6dlGYMOdZcOPutkcNY8U2g7vK9Y='
Ejemplo n.º 9
0
 def test_pencil_hex(self, capsys):
     scrammer_args = ['pencil', '-s', 'QSXCR+Q6sek8bf92', '--format', 'hex']
     scrammer.main(scrammer_args)
     captured = capsys.readouterr()
     out = captured.out
     assert out.strip() == 'e9d94660c39d65c38fbad91c358f14da0eef2bd6'
Ejemplo n.º 10
0
 def test_stdin_keyboard_interrupt(self, mocker):
     mock = mocker.patch('scram.scrammer.input',
                         side_effect=KeyboardInterrupt('inter'))
     scrammer.main([])
     assert mock.call_count == 1
Ejemplo n.º 11
0
 def test_stdin_eof(self, mocker):
     mock = mocker.patch('scram.scrammer.input',
                         side_effect=EOFError('eof'))
     scrammer.main([])
     assert mock.call_count == 1
Ejemplo n.º 12
0
 def test_one_stdin_mode_gen_salt(self, mocker):
     mocker.patch('scram.scrammer.input', side_effect=['pencil', ''])
     mocked_salter = mocker.patch('scram.scrammer.gen_salt',
                                  return_value=self.SALT)
     scrammer.main([])
     assert mocked_salter.call_count == 1
Ejemplo n.º 13
0
 def test_file_mode_no_gen_salt(self, mocker):
     mocked_salter = mocker.patch('scram.scrammer.gen_salt',
                                  return_value=self.SALT)
     file_path = RESOURCES / 'small_dictionary.txt'
     scrammer.main(['-f', str(file_path), '-s', '1234'])
     assert mocked_salter.call_count == 0
Ejemplo n.º 14
0
 def test_file_mode_gen_salt(self, mocker):
     mocked_salter = mocker.patch('scram.scrammer.gen_salt',
                                  return_value=self.SALT)
     file_path = RESOURCES / 'small_dictionary.txt'
     scrammer.main(['-f', str(file_path)])
     assert mocked_salter.call_count == len(TestScriptOutput.SMALL_DICT_HEX)
Ejemplo n.º 15
0
 def test_single_mode_no_gen_salt(self, mocker):
     mocked_salter = mocker.patch('scram.scrammer.gen_salt',
                                  return_value=self.SALT)
     scrammer.main(['hello', '-s', self.SALT])
     assert mocked_salter.call_count == 0