summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/functional/libgfapi-python-tests.py10
-rw-r--r--test/unit/gluster/test_gfapi.py42
2 files changed, 52 insertions, 0 deletions
diff --git a/test/functional/libgfapi-python-tests.py b/test/functional/libgfapi-python-tests.py
index 8bcbf45..4dbdf2d 100644
--- a/test/functional/libgfapi-python-tests.py
+++ b/test/functional/libgfapi-python-tests.py
@@ -163,6 +163,16 @@ class FileOpsTest(unittest.TestCase):
except OSError as e:
self.fail(e.message)
+ def test_chmod(self):
+ stat = self.vol.stat(self.path)
+ orig_mode = oct(stat.st_mode & 0777)
+ self.assertEqual(orig_mode, '0644L')
+ ret = self.vol.chmod(self.path, 0600)
+ self.assertEqual(ret, 0)
+ stat = self.vol.stat(self.path)
+ new_mode = oct(stat.st_mode & 0777)
+ self.assertEqual(new_mode, '0600L')
+
def test_exists(self):
e = self.vol.exists(self.path)
self.assertTrue(e)
diff --git a/test/unit/gluster/test_gfapi.py b/test/unit/gluster/test_gfapi.py
index f772b0d..8451b51 100644
--- a/test/unit/gluster/test_gfapi.py
+++ b/test/unit/gluster/test_gfapi.py
@@ -63,6 +63,21 @@ class TestFile(unittest.TestCase):
def tearDown(self):
glusterfs.gfapi.api.glfs_close = self._saved_glfs_close
+ def test_fchmod_success(self):
+ mock_glfs_fchmod = Mock()
+ mock_glfs_fchmod.return_value = 0
+
+ with patch("glusterfs.gfapi.api.glfs_fchmod", mock_glfs_fchmod):
+ ret = self.fd.fchmod(0600)
+ self.assertEquals(ret, 0)
+
+ def test_fchmod_fail_exception(self):
+ mock_glfs_fchmod = Mock()
+ mock_glfs_fchmod.return_value = -1
+
+ with patch("glusterfs.gfapi.api.glfs_fchmod", mock_glfs_fchmod):
+ self.assertRaises(OSError, self.fd.fchmod, 0600)
+
def test_fchown_success(self):
mock_glfs_fchown = Mock()
mock_glfs_fchown.return_value = 0
@@ -165,6 +180,18 @@ class TestFile(unittest.TestCase):
b = self.fd.read(5)
self.assertEqual(b, 0)
+ def test_read_buflen_negative(self):
+ _mock_fgetsize = Mock(return_value=12345)
+
+ def _mock_glfs_read(fd, rbuf, buflen, flags):
+ self.assertEqual(buflen, 12345)
+ return buflen
+
+ for buflen in (-1,-2,-999):
+ with patch("glusterfs.gfapi.api.glfs_read", _mock_glfs_read):
+ with patch("glusterfs.gfapi.File.fgetsize", _mock_fgetsize):
+ b = self.fd.read(buflen)
+
def test_write_success(self):
mock_glfs_write = Mock()
mock_glfs_write.return_value = 5
@@ -278,6 +305,21 @@ class TestVolume(unittest.TestCase):
glusterfs.gfapi.api.glfs_close = cls._saved_glfs_close
glusterfs.gfapi.api.glfs_closedir = cls._saved_glfs_closedir
+ def test_chmod_success(self):
+ mock_glfs_chmod = Mock()
+ mock_glfs_chmod.return_value = 0
+
+ with patch("glusterfs.gfapi.api.glfs_chmod", mock_glfs_chmod):
+ ret = self.vol.chmod("file.txt", 0600)
+ self.assertEquals(ret, 0)
+
+ def test_chmod_fail_exception(self):
+ mock_glfs_chmod = Mock()
+ mock_glfs_chmod.return_value = -1
+
+ with patch("glusterfs.gfapi.api.glfs_chmod", mock_glfs_chmod):
+ self.assertRaises(OSError, self.vol.chmod, "file.txt", 0600)
+
def test_chown_success(self):
mock_glfs_chown = Mock()
mock_glfs_chown.return_value = 0