def test_encrypt(self, _get_vault_path, _dmcrypt, _systemd): _get_vault_path.return_value = 'backend/host/uuid' _dmcrypt.generate_key.return_value = 'testkey' args = mock.MagicMock() args.uuid = 'passed-UUID' args.block_device = ['/dev/sdb'] client = mock.MagicMock() client.read.return_value = { 'data': { 'dmcrypt_key': 'testkey' } } shell._encrypt_block_device(args, client, self.config) _dmcrypt.luks_format.assert_called_with( 'testkey', '/dev/sdb', 'passed-UUID' ) _dmcrypt.luks_open.assert_called_with( 'testkey', 'passed-UUID' ) _systemd.enable.assert_called_with( '*****@*****.**' )
def test_vault_read_operation(self, _get_vault_path, _dmcrypt, _systemd): _get_vault_path.return_value = 'backend/host/uuid' _dmcrypt.generate_key.return_value = 'testkey' args = mock.MagicMock() args.uuid = 'passed-UUID' args.block_device = ['/dev/sdb'] client = mock.MagicMock() client.read.return_value = {'data': {'dmcrypt_key': 'testkey'}} self.assertIsNot( exceptions.VaultReadError, shell._encrypt_block_device(args, client, self.config)) client.read.side_effect = exceptions.VaultReadError( 'backend/host/uuid', 'Write Failed') self.assertRaises(exceptions.VaultReadError, shell._encrypt_block_device, args, client, self.config)