summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am2
-rw-r--r--tests/check_proc_test_data.py196
-rw-r--r--tests/test_gluster_proc.py42
3 files changed, 240 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index a540f11..0712feb 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -21,8 +21,10 @@
test_modules = \
test_check_gluster_syslog.py \
test_check_volume_status.py \
+ check_proc_test_data.py \
test_cpu.py \
test_cpu_dataFile.py \
+ test_gluster_proc.py \
test_memory.py \
test_memory_dataFile.py \
test_network.py \
diff --git a/tests/check_proc_test_data.py b/tests/check_proc_test_data.py
new file mode 100644
index 0000000..b4d4ac4
--- /dev/null
+++ b/tests/check_proc_test_data.py
@@ -0,0 +1,196 @@
+nfsEnabled1 = {'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.33:/bricks/rep1_1',
+ '10.70.43.33:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'},
+ 'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol2': {'brickCount': '1',
+ 'bricks': ['10.70.43.190:/exports/vol2'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '12817858-77cd-450d-8a70-f8d617db838e',
+ 'volumeName': 'vol2',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol3': {'brickCount': '1',
+ 'bricks': ['10.70.43.190:/exports/vol3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'a3d0f537-761f-46d3-addd-58c5eeb66b58',
+ 'volumeName': 'vol3',
+ 'volumeStatus': 'OFFLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'vol4': {'brickCount': '2',
+ 'bricks': ['10.70.43.190:/bricks/vol3_a',
+ '10.70.43.190:/bricks/vol3_b'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '81201e32-8f14-4fa0-b4ef-23852f2f9a1d',
+ 'volumeName': 'vol4',
+ 'volumeStatus': 'OFFLINE',
+ 'volumeType': 'REPLICATE'},
+ 'vol5': {'brickCount': '3',
+ 'bricks': ['10.70.43.190:/bricks/vol5_a',
+ '10.70.42.228:/bricks/vol5_b',
+ '10.70.43.33:/bricks/vol5_c'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '69e039dd-e0b1-4069-ad65-99cb26c2d157',
+ 'volumeName': 'vol5',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'}}
+
+# nfs enabled by default
+nfsEnabled2 = {'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+#NFS enabled using set option
+nfsEnabled3 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'off'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'}}
+
+
+nfsDisabled1 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.33:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+
+brickTst1 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.33:/bricks/b1',
+ '10.70.43.433:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.33:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
+
+
+brickTst2 = {'vol1': {'brickCount': '3',
+ 'bricks': ['10.70.43.133:/bricks/b1',
+ '10.70.43.233:/bricks/my-vol1-add-brck-b2.new',
+ '10.70.43.333:/bricks/vol1/my-new-brick_b3'],
+ 'bricksInfo': [],
+ 'distCount': '1',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '1',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': 'f96856f1-b2c0-4e24-aef0-7f2a01f37b99',
+ 'volumeName': 'vol1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'DISTRIBUTE'},
+ 'rep1': {'brickCount': '2',
+ 'bricks': ['10.70.43.133:/bricks/rep1_1',
+ '10.70.43.133:/bricks/rep1_2'],
+ 'bricksInfo': [],
+ 'distCount': '2',
+ 'options': {'features.quota': 'on', 'nfs.disable': 'on'},
+ 'replicaCount': '2',
+ 'stripeCount': '1',
+ 'transportType': ['TCP'],
+ 'uuid': '53496a0c-94eb-46a2-9312-eeb700e9fba5',
+ 'volumeName': 'rep1',
+ 'volumeStatus': 'ONLINE',
+ 'volumeType': 'REPLICATE'}}
diff --git a/tests/test_gluster_proc.py b/tests/test_gluster_proc.py
new file mode 100644
index 0000000..36a60fd
--- /dev/null
+++ b/tests/test_gluster_proc.py
@@ -0,0 +1,42 @@
+#
+# Copyright 2014 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# Refer to the README and COPYING files for full details of the license
+#
+
+from testrunner import PluginsTestCase as TestCaseBase
+from plugins import check_proc_status as gProc
+from plugins import nscautils
+from glusternagios import utils
+import check_proc_test_data as gData
+
+
+class TestProc(TestCaseBase):
+ def _maskGetoutputSuccess(self, val):
+ return 0, "PROCS OK:", ""
+
+ def _maskGetoutputCritical(self, val):
+ return 0, "PROCS CRITICAL:", ""
+
+ def _maskSendToNsca(self, hostName, service, status, msg):
+ return service, status, msg
+
+ def test_Nfs(self):
+ nscautils.send_to_nsca = self._maskSendToNsca
+ utils.execCmd = self._maskGetoutputCritical
+
+ assert(gProc.sendNfsStatus("10.70.43.33", gData.nfsEnabled1) == None)