]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: tests add tests for the is_mounted utility
authorAlfredo Deza <adeza@redhat.com>
Wed, 9 Aug 2017 19:56:53 +0000 (15:56 -0400)
committerAndrew Schoen <aschoen@redhat.com>
Thu, 10 Aug 2017 15:34:55 +0000 (10:34 -0500)
Signed-off-by: Alfredo Deza <adeza@redhat.com>
(cherry picked from commit dd4db2f5671c3ce0aded73013b64a0cc559e5502)

src/ceph-volume/ceph_volume/tests/util/test_system.py

index fc3c0d426d0407c80e6c4b5a9017e44d43034a00..7cb6a1f14fa8cd300744224a22f164d55369e8c1 100644 (file)
@@ -1,6 +1,7 @@
 import os
 import pwd
 import getpass
+from textwrap import dedent
 from ceph_volume.util import system
 
 
@@ -32,3 +33,57 @@ class TestMkdirP(object):
         system.mkdir_p(path, chown=False)
         assert os.path.isdir(path)
 
+
+class TestIsMounted(object):
+
+    def test_not_mounted(self, tmpdir, monkeypatch):
+        PROCDIR = str(tmpdir)
+        proc_path = os.path.join(PROCDIR, 'mounts')
+        with open(proc_path, 'w') as f:
+            f.write('')
+        monkeypatch.setattr(system, 'PROCDIR', PROCDIR)
+        assert system.is_mounted('sdb') is False
+
+    def test_is_mounted_(self, tmpdir, monkeypatch):
+        PROCDIR = str(tmpdir)
+        proc_path = os.path.join(PROCDIR, 'mounts')
+        with open(proc_path, 'w') as f:
+            f.write(dedent("""nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
+                    /dev/sdc2 /boot xfs rw,seclabel,relatime,attr2,inode64,noquota 0 0
+                    tmpfs /run/user/1000 tmpfs rw,seclabel,mode=700,uid=1000,gid=1000 0 0"""))
+        monkeypatch.setattr(system, 'PROCDIR', PROCDIR)
+        monkeypatch.setattr(os.path, 'exists', lambda x: True)
+        assert system.is_mounted('/dev/sdc2') is True
+
+    def test_ignores_two_fields(self, tmpdir, monkeypatch):
+        PROCDIR = str(tmpdir)
+        proc_path = os.path.join(PROCDIR, 'mounts')
+        with open(proc_path, 'w') as f:
+            f.write(dedent("""nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
+                    /dev/sdc2 /boot
+                    tmpfs /run/user/1000 tmpfs rw,seclabel,mode=700,uid=1000,gid=1000 0 0"""))
+        monkeypatch.setattr(system, 'PROCDIR', PROCDIR)
+        monkeypatch.setattr(os.path, 'exists', lambda x: True)
+        assert system.is_mounted('/dev/sdc2') is False
+
+    def test_not_mounted_at_destination(self, tmpdir, monkeypatch):
+        PROCDIR = str(tmpdir)
+        proc_path = os.path.join(PROCDIR, 'mounts')
+        with open(proc_path, 'w') as f:
+            f.write(dedent("""nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
+                    /dev/sdc2 /var/lib/ceph/osd/ceph-9 xfs rw,attr2,inode64,noquota 0 0
+                    tmpfs /run/user/1000 tmpfs rw,seclabel,mode=700,uid=1000,gid=1000 0 0"""))
+        monkeypatch.setattr(system, 'PROCDIR', PROCDIR)
+        monkeypatch.setattr(os.path, 'exists', lambda x: True)
+        assert system.is_mounted('/dev/sdc2', '/var/lib/ceph/osd/ceph-0') is False
+
+    def test_is_mounted_at_destination(self, tmpdir, monkeypatch):
+        PROCDIR = str(tmpdir)
+        proc_path = os.path.join(PROCDIR, 'mounts')
+        with open(proc_path, 'w') as f:
+            f.write(dedent("""nfsd /proc/fs/nfsd nfsd rw,relatime 0 0
+                    /dev/sdc2 /var/lib/ceph/osd/ceph-0 xfs rw,attr2,inode64,noquota 0 0
+                    tmpfs /run/user/1000 tmpfs rw,seclabel,mode=700,uid=1000,gid=1000 0 0"""))
+        monkeypatch.setattr(system, 'PROCDIR', PROCDIR)
+        monkeypatch.setattr(os.path, 'exists', lambda x: True)
+        assert system.is_mounted('/dev/sdc2', '/var/lib/ceph/osd/ceph-0') is True