X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=ceph%2Fsrc%2Fceph-disk%2Ftests%2Ftest_prepare.py;h=8539e70b1a2f7f1ed36df2e1240f9271be815d54;hb=c07f9fc5a4f48397831383549fb0482b93480643;hp=28713640a6adbf0d8400cdb11279febc4f439363;hpb=9439ae556f035e65c9c107ae13ddd09457dbbecd;p=ceph.git diff --git a/ceph/src/ceph-disk/tests/test_prepare.py b/ceph/src/ceph-disk/tests/test_prepare.py index 28713640a..8539e70b1 100644 --- a/ceph/src/ceph-disk/tests/test_prepare.py +++ b/ceph/src/ceph-disk/tests/test_prepare.py @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env python # # Copyright (C) 2015, 2016 Red Hat # @@ -423,3 +423,37 @@ class TestPrepareData(Base): set_type=set_type): data = main.PrepareData(args) assert data.args.cluster_uuid == cluster_uuid + + +class TestSecrets(Base): + + @mock.patch('ceph_disk.main.command') + def test_secrets(self, m_command): + key = "KEY" + m_command.side_effect = lambda cmd: (key + "\n", '', 0) + s = main.Secrets() + assert {"cephx_secret": key} == s.keys + assert '{"cephx_secret": "' + key + '"}' == s.get_json() + + @mock.patch('ceph_disk.main.open') + @mock.patch('ceph_disk.main.CryptHelpers.get_dmcrypt_keysize') + @mock.patch('ceph_disk.main.command') + def test_lockbox_secrets(self, + m_command, + m_get_dmcrypt_keysize, + m_open): + key = "KEY" + m_command.side_effect = lambda cmd: (key + "\n", '', 0) + m_get_dmcrypt_keysize.side_effect = lambda args: 32 + + class File: + def read(self, size): + return b'O' * size + + m_open.side_effect = lambda path, mode: File() + s = main.LockboxSecrets({}) + assert { + "dmcrypt_key": 'T09PTw==', + "cephx_secret": key, + "cephx_lockbox_secret": key, + } == s.keys