From bf3adbb11ef36591d80b9b6f4d9768caf516b4e3 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 14 Nov 2013 09:35:06 -0500 Subject: testsuite: fixed unit tests for Probes allowed_groups option --- .../Testlib/TestServer/TestPlugins/TestProbes.py | 36 +++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) (limited to 'testsuite/Testsrc/Testlib/TestServer') diff --git a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py index a87628eaf..2face023f 100644 --- a/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py +++ b/testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestProbes.py @@ -1,4 +1,5 @@ import os +import re import sys import copy import time @@ -295,7 +296,9 @@ text def inner(): return self.get_obj(core) - return inner() + rv = inner() + rv.allowed_cgroups = [re.compile("^.*$")] + return rv def test__init(self): mock_load_data = Mock() @@ -591,6 +594,37 @@ text self.assertEqual(probes.cgroups[cname], self.get_test_cgroups()[cname]) + # test again, with an explicit list of allowed groups + probes.allowed_cgroups = [re.compile(r'^.*s$')] + for cname, cdata in self.get_test_probedata().items(): + client = Mock() + client.hostname = cname + cgroups = [] + cprobedata = ClientProbeDataSet() + for pname, pdata in cdata.items(): + dataitem = lxml.etree.Element("Probe", name=pname) + if pname == "text": + # add some groups to the plaintext test to test + # group parsing + data = [pdata] + for group in self.get_test_cgroups()[cname]: + data.append("group:%s" % group) + dataitem.text = "\n".join(data) + else: + dataitem.text = str(pdata) + + probes.ReceiveDataItem(client, dataitem, cgroups, cprobedata) + + probes.cgroups[client.hostname] = cgroups + probes.probedata[client.hostname] = cprobedata + self.assertIn(client.hostname, probes.probedata) + self.assertIn(pname, probes.probedata[cname]) + self.assertEqual(pdata, probes.probedata[cname][pname]) + self.assertIn(client.hostname, probes.cgroups) + self.assertEqual(probes.cgroups[cname], + [g for g in self.get_test_cgroups()[cname] + if g.endswith("s")]) + def test_get_additional_groups(self): TestConnector.test_get_additional_groups(self) -- cgit v1.2.3-1-g7c22