Ejemplo n.º 1
0
    def test_decrypt(self, mock_import_module):
        mock_crypter_module = mock.MagicMock()
        mock_crypter_module.__name__ = 'secretcrypt.mock_crypter'

        def mock_import_side_effect(*args, **kwargs):
            self.assertEqual(kwargs['package'], secretcrypt.__name__)
            if args[0] == '.mock_crypter':
                return mock_crypter_module
            raise Exception('Importing wrong module')

        mock_import_module.side_effect = mock_import_side_effect

        secret = StrictSecret(
            'mock_crypter:key=value&key2=value2:myciphertext')
        self.assertEqual(secret._decrypt_params,
                         dict(key='value', key2='value2'))
        self.assertEqual(secret._ciphertext, b'myciphertext')

        secret.decrypt()
        secret.decrypt()
        mock_crypter_module.decrypt.assert_called_with(
            b'myciphertext',
            key='value',
            key2='value2',
        )
Ejemplo n.º 2
0
    def test_decrypt(self, mock_import_module):
        mock_crypter_module = mock.MagicMock()
        mock_crypter_module.__name__ = 'secretcrypt.mock_crypter'

        def mock_import_side_effect(*args, **kwargs):
            self.assertEqual(kwargs['package'], secretcrypt.__name__)
            if args[0] == '.mock_crypter':
                return mock_crypter_module
            raise Exception('Importing wrong module')
        mock_import_module.side_effect = mock_import_side_effect

        secret = StrictSecret('mock_crypter:key=value&key2=value2:myciphertext')
        self.assertEqual(secret._decrypt_params, dict(key='value', key2='value2'))
        self.assertEqual(secret._ciphertext, b'myciphertext')

        secret.decrypt()
        secret.decrypt()
        mock_crypter_module.decrypt.assert_called_with(
            b'myciphertext',
            key='value',
            key2='value2',
        )
Ejemplo n.º 3
0
 def test_decrypt_plain(self):
     secret = StrictSecret('plain::mypass')
     self.assertEqual(b'mypass', secret.decrypt())
Ejemplo n.º 4
0
 def test_decrypt_plain(self):
     secret = StrictSecret('plain::mypass')
     self.assertEqual(b'mypass', secret.decrypt())
Ejemplo n.º 5
0
def decrypt_secret_cmd():
    arguments = docopt(__doc__, options_first=True)
    secret = StrictSecret(arguments['<secret>'])
    return secret.decrypt().decode('utf-8')
Ejemplo n.º 6
0
def decrypt_secret_cmd():
    arguments = docopt(__doc__, options_first=True)
    secret = StrictSecret(arguments['<secret>'])
    return secret.decrypt().decode('utf-8')