From d1685a13df6a9114c883f35c3908db9f1e11e511 Mon Sep 17 00:00:00 2001 From: Bahtiar `kalkin-` Gadimov Date: Sat, 7 Nov 2015 19:32:03 +0100 Subject: [PATCH] Add storage.pool_exists --- core/storage/__init__.py | 9 +++++++++ tests/storage.py | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/core/storage/__init__.py b/core/storage/__init__.py index b9810881..aabb2f65 100644 --- a/core/storage/__init__.py +++ b/core/storage/__init__.py @@ -291,6 +291,15 @@ def _get_pool_klass(name, config=None): return klass +def pool_exists(name): + """ Check if the specified pool exists """ + try: + _get_pool_klass(name) + return True + except StoragePoolException: + return False + + class StoragePoolException(QubesException): pass diff --git a/tests/storage.py b/tests/storage.py index a52b62b4..e3fb4b29 100644 --- a/tests/storage.py +++ b/tests/storage.py @@ -52,6 +52,15 @@ class TC_00_Storage(SystemTestsMixin, QubesTestCase): result = qubes.storage._get_pool_klass('default') self.assertTrue(result is XenPool) + def test_004_pool_exists_default(self): + """ Expect the default pool to exists """ + self.assertTrue(qubes.storage.pool_exists('default')) + + def test_005_pool_exists_random(self): + """ Expect this pool to not a exist """ + self.assertFalse( + qubes.storage.pool_exists('asdh312096r832598213iudhas')) + class TC_01_Storage(SystemTestsMixin, QubesTestCase):