Change in vdsm[master]: tests: FakeStorageDomainCache
alitke at redhat.com
alitke at redhat.com
Wed May 4 15:22:46 UTC 2016
Adam Litke has uploaded a new change for review.
Change subject: tests: FakeStorageDomainCache
......................................................................
tests: FakeStorageDomainCache
Change-Id: I7d6aade8ae6942d8c8e14a92dec682f957044746
Signed-off-by: Adam Litke <alitke at redhat.com>
---
M tests/storagefakelib.py
M tests/storagefakelibTests.py
M tests/storagetestlib.py
3 files changed, 33 insertions(+), 5 deletions(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/55/57055/1
diff --git a/tests/storagefakelib.py b/tests/storagefakelib.py
index 8044195..e967e9a 100644
--- a/tests/storagefakelib.py
+++ b/tests/storagefakelib.py
@@ -286,3 +286,14 @@
@recorded
def releaseResource(self, *args, **kwargs):
pass
+
+
+class FakeStorageDomainCache(object):
+ def __init__(self, domains):
+ self._domains = domains
+
+ def produce(self, sd_id):
+ try:
+ return self._domains[sd_id]
+ except KeyError:
+ raise se.StorageDomainDoesNotExist(sd_id)
diff --git a/tests/storagefakelibTests.py b/tests/storagefakelibTests.py
index 898e69e..9165bf5 100644
--- a/tests/storagefakelibTests.py
+++ b/tests/storagefakelibTests.py
@@ -25,7 +25,7 @@
from testlib import VdsmTestCase, namedTemporaryDir
from testlib import permutations, expandPermutations
-from storagefakelib import FakeLVM, FakeResourceManager
+from storagefakelib import FakeLVM, FakeResourceManager, FakeStorageDomainCache
from storage import blockSD, blockVolume
from storage import lvm as real_lvm
@@ -358,3 +358,16 @@
self.assertEqual(expected_calls, rm.__calls__)
expected_calls.append(('releaseResource', acquire_args, {}))
self.assertEqual(expected_calls, rm.__calls__)
+
+
+class FakeStorageDomainCacheTests(VdsmTestCase):
+
+ def test_domain_does_not_exist(self):
+ sdc = FakeStorageDomainCache(dict())
+ self.assertRaises(se.StorageDomainDoesNotExist, sdc.produce, 'foo')
+
+ def test_produce(self):
+ # The cache just returns objects so we don't need to pass a domain
+ dom = object()
+ sdc = FakeStorageDomainCache(dict(foo=dom))
+ self.assertEqual(dom, sdc.produce('foo'))
diff --git a/tests/storagetestlib.py b/tests/storagetestlib.py
index 1a3dfce..2d9fab2 100644
--- a/tests/storagetestlib.py
+++ b/tests/storagetestlib.py
@@ -21,7 +21,7 @@
from contextlib import contextmanager
from testlib import make_file, namedTemporaryDir
-from storagefakelib import FakeLVM
+from storagefakelib import FakeLVM, FakeStorageDomainCache
from monkeypatch import MonkeyPatchScope
from vdsm import utils
@@ -46,10 +46,11 @@
def fake_file_env(obj=None):
with namedTemporaryDir() as tmpdir:
sd_manifest = make_filesd_manifest(tmpdir)
+ fake_sdc = FakeStorageDomainCache({sd_manifest.sdUUID: sd_manifest})
with MonkeyPatchScope([
- [sd, 'storage_repository', tmpdir]
+ [sd, 'storage_repository', tmpdir],
+ [volume, 'sdCache', fake_sdc],
]):
-
yield FakeEnv(sd_manifest)
@@ -64,7 +65,10 @@
(sd, 'storage_repository', tmpdir),
]):
sd_manifest = make_blocksd_manifest(tmpdir, lvm)
- yield FakeEnv(sd_manifest, lvm=lvm)
+ fake_sdc = FakeStorageDomainCache(
+ {sd_manifest.sdUUID: sd_manifest})
+ with MonkeyPatchScope([[volume, 'sdCache', fake_sdc]]):
+ yield FakeEnv(sd_manifest, lvm=lvm)
class FakeMetadata(dict):
--
To view, visit https://gerrit.ovirt.org/57055
To unsubscribe, visit https://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7d6aade8ae6942d8c8e14a92dec682f957044746
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Adam Litke <alitke at redhat.com>
More information about the vdsm-patches
mailing list