From 0d27fff319f1c4705648fdaff18ee47441f26a24 Mon Sep 17 00:00:00 2001 From: Andrew Schoen Date: Tue, 30 Jan 2018 09:22:58 -0600 Subject: [PATCH] ceph-volume: tests for util.prepare.check_id Signed-off-by: Andrew Schoen --- .../ceph_volume/tests/util/test_prepare.py | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/ceph-volume/ceph_volume/tests/util/test_prepare.py b/src/ceph-volume/ceph_volume/tests/util/test_prepare.py index b299ea3551d47..98038825dc3e5 100644 --- a/src/ceph-volume/ceph_volume/tests/util/test_prepare.py +++ b/src/ceph-volume/ceph_volume/tests/util/test_prepare.py @@ -1,9 +1,50 @@ +import pytest +import json from ceph_volume.util import prepare from ceph_volume.util.prepare import system from ceph_volume import conf from ceph_volume.tests.conftest import Factory +class TestCheckID(object): + + def test_false_if_id_is_none(self): + assert not prepare.check_id(None) + + def test_returncode_is_not_zero(self, monkeypatch): + monkeypatch.setattr('ceph_volume.process.call', lambda *a, **kw: ('', '', 1)) + with pytest.raises(RuntimeError): + prepare.check_id(1) + + def test_id_does_exist(self, monkeypatch): + stdout = dict(nodes=[ + dict(id=0), + ]) + stdout = json.dumps(stdout) + monkeypatch.setattr('ceph_volume.process.call', lambda *a, **kw: (stdout, '', 0)) + result = prepare.check_id(0) + assert result + assert result == "0" + + def test_id_does_not_exist(self, monkeypatch): + stdout = dict(nodes=[ + dict(id=0), + ]) + stdout = json.dumps(stdout) + monkeypatch.setattr('ceph_volume.process.call', lambda *a, **kw: (stdout, '', 0)) + result = prepare.check_id(1) + assert not result + + def test_invalid_osd_id(self, monkeypatch): + stdout = dict(nodes=[ + dict(id=0), + ]) + stdout = json.dumps(stdout) + monkeypatch.setattr('ceph_volume.process.call', lambda *a, **kw: (stdout, '', 0)) + result = prepare.check_id("foo") + assert not result + + class TestFormatDevice(object): def test_include_force(self, fake_run, monkeypatch): -- 2.39.5