summaryrefslogtreecommitdiffstats
path: root/tests/test_glustercli.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_glustercli.py')
-rw-r--r--tests/test_glustercli.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_glustercli.py b/tests/test_glustercli.py
index 53865cd..1f240fa 100644
--- a/tests/test_glustercli.py
+++ b/tests/test_glustercli.py
@@ -21,6 +21,7 @@
from testrunner import GlusterNagiosTestCase as TestCaseBase
from glusternagios import glustercli as gcli
import xml.etree.cElementTree as etree
+import mock
class GlusterCliTests(TestCaseBase):
@@ -1057,3 +1058,45 @@ class GlusterCliTests(TestCaseBase):
self._parseVolumeStatusDetail_test()
self._parseVolumeStatusClients_test()
self._parseVolumeStatusMem_test()
+
+ @mock.patch('glusternagios.utils.execCmd')
+ @mock.patch('glusternagios.glustercli._getGlusterVolCmd')
+ def test_parseVolumeQuotaStatus(self, mock_glusterVolCmd, mock_execCmd,):
+ mock_glusterVolCmd.return_value = ["gluster", "volume"]
+ mock_execCmd.return_value = 0, ["quota command failed : "
+ "Quota is not enabled on "
+ "volume demo-test-vol"], None
+ status = gcli.volumeQuotaStatus("test-vol")
+ self.assertEquals(status, gcli.VolumeQuotaStatus.DISABLED)
+ mock_execCmd.return_value = 0, ["quota: No quota "
+ "configured on "
+ "volume demo-test-vol"], None
+ status = gcli.volumeQuotaStatus("test-vol")
+ self.assertEquals(status, gcli.VolumeQuotaStatus.DISABLED)
+ mock_execCmd.return_value = 0, self.__getQuotaOut(), None
+ status = gcli.volumeQuotaStatus("test-vol")
+ self.assertEquals(status, gcli.VolumeQuotaStatus.EXCEEDED)
+
+ @mock.patch('glusternagios.utils.execCmd')
+ @mock.patch('glusternagios.glustercli._getGlusterVolCmd')
+ def test_parseVolumeQuotaStatusWhenException(self,
+ mock_glusterVolCmd,
+ mock_execCmd,):
+ mock_glusterVolCmd.return_value = ["gluster", "volume"]
+ mock_execCmd.return_value = -1, None, "err"
+ try:
+ gcli.volumeQuotaStatus("test-vol")
+ assert False
+ except gcli.GlusterCmdFailedException:
+ assert True
+
+ def __getQuotaOut(self):
+ return \
+ [" Path Hard-limit Soft-limit"
+ " Used Available Soft-limit exceeded? Hard-limit exceeded?",
+ "-------------------------------------------------------------"
+ "--------------------------------------------------------------",
+ "/test 200.0KB 80% "
+ " 200.0KB 0Bytes No No",
+ "/test/rewe 200.0KB 80% "
+ "200.0KB 0Bytes Yes Yes"]