summaryrefslogtreecommitdiffstats
path: root/test/test-nvme_options.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/test-nvme_options.py')
-rwxr-xr-xtest/test-nvme_options.py27
1 files changed, 23 insertions, 4 deletions
diff --git a/test/test-nvme_options.py b/test/test-nvme_options.py
index 428f22a..adfba5f 100755
--- a/test/test-nvme_options.py
+++ b/test/test-nvme_options.py
@@ -6,6 +6,19 @@ from staslib import conf, log
from pyfakefs.fake_filesystem_unittest import TestCase
+class TestStandardNvmeFabricsFile(unittest.TestCase):
+ def test_regular_user(self):
+ conf.NvmeOptions.destroy() # Make sure singleton does not exist
+ if os.path.exists('/dev/nvme-fabrics'):
+ if os.geteuid() != 0:
+ with self.assertRaises(PermissionError):
+ nvme_options = conf.NvmeOptions()
+ else:
+ nvme_options = conf.NvmeOptions()
+ self.assertIsInstance(nvme_options.discovery_supp, bool)
+ self.assertIsInstance(nvme_options.host_iface_supp, bool)
+
+
class Test(TestCase):
"""Unit tests for class NvmeOptions"""
@@ -19,24 +32,30 @@ class Test(TestCase):
# No longer need self.tearDownPyfakefs()
pass
+ def test_file_missing(self):
+ self.assertFalse(os.path.exists("/dev/nvme-fabrics"))
+ conf.NvmeOptions.destroy() # Make sure singleton does not exist
+ nvme_options = conf.NvmeOptions()
+ self.assertIsInstance(nvme_options.discovery_supp, bool)
+ self.assertIsInstance(nvme_options.host_iface_supp, bool)
+
def test_fabrics_empty_file(self):
self.assertFalse(os.path.exists("/dev/nvme-fabrics"))
- # TODO: this is a bug
self.fs.create_file("/dev/nvme-fabrics")
self.assertTrue(os.path.exists('/dev/nvme-fabrics'))
+ conf.NvmeOptions.destroy() # Make sure singleton does not exist
nvme_options = conf.NvmeOptions()
self.assertIsInstance(nvme_options.discovery_supp, bool)
self.assertIsInstance(nvme_options.host_iface_supp, bool)
- del nvme_options
def test_fabrics_wrong_file(self):
self.assertFalse(os.path.exists("/dev/nvme-fabrics"))
self.fs.create_file("/dev/nvme-fabrics", contents="blah")
self.assertTrue(os.path.exists('/dev/nvme-fabrics'))
+ conf.NvmeOptions.destroy() # Make sure singleton does not exist
nvme_options = conf.NvmeOptions()
self.assertIsInstance(nvme_options.discovery_supp, bool)
self.assertIsInstance(nvme_options.host_iface_supp, bool)
- del nvme_options
def test_fabrics_correct_file(self):
self.assertFalse(os.path.exists("/dev/nvme-fabrics"))
@@ -44,6 +63,7 @@ class Test(TestCase):
'/dev/nvme-fabrics', contents='host_iface=%s,discovery,dhchap_secret=%s,dhchap_ctrl_secret=%s\n'
)
self.assertTrue(os.path.exists('/dev/nvme-fabrics'))
+ conf.NvmeOptions.destroy() # Make sure singleton does not exist
nvme_options = conf.NvmeOptions()
self.assertTrue(nvme_options.discovery_supp)
self.assertTrue(nvme_options.host_iface_supp)
@@ -54,7 +74,6 @@ class Test(TestCase):
{'discovery': True, 'host_iface': True, 'dhchap_secret': True, 'dhchap_ctrl_secret': True},
)
self.assertTrue(str(nvme_options).startswith("supported options:"))
- del nvme_options
if __name__ == "__main__":