Filippo Giunchedi has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/397889 )
Change subject: WIP: rework mtail tests
......................................................................
WIP: rework mtail tests
Change-Id: I7bc5e375e355153c8d5cce9e496cb648deb24cb2
---
M modules/mtail/files/test/exim_test.py
M modules/mtail/files/test/mtail_store.py
2 files changed, 36 insertions(+), 42 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/operations/puppet
refs/changes/89/397889/1
diff --git a/modules/mtail/files/test/exim_test.py
b/modules/mtail/files/test/exim_test.py
index a0de96c..345a9a4 100644
--- a/modules/mtail/files/test/exim_test.py
+++ b/modules/mtail/files/test/exim_test.py
@@ -12,39 +12,40 @@
os.path.join(test_dir, 'logs/exim.test'))
def testEximMessages(self):
- m = self.store.get_metric('exim_messages_total')
- self.assertEqual(3, m._value)
- self.assertIn('status=out', m._labelpairs)
+ s = self.store.get_samples('exim_messages_total')
+ self.assertIn(('status=out', 3), s)
- m = self.store.get_metric('exim_messages_bytes')
- self.assertEqual(183084, m._value)
- self.assertIn('status=out', m._labelpairs)
+ s = self.store.get_samples('exim_messages_bytes')
+ self.assertIn(('status=out', 183084), s)
def testDKIM(self):
- m = self.store.get_metric('exim_dkim_failure_total')
- self.assertEqual(2, m._value)
+ s = self.store.get_samples('exim_dkim_failure_total')
+ self.assertIn(('', 2), s)
- m = self.store.get_metric('exim_dkim_success_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_dkim_success_total')
+ self.assertIn(('', 1), s)
def testMiscErrors(self):
- m = self.store.get_metric('exim_smtp_errors_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_smtp_errors_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_rejected_rcpt_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_smtp_errors_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_tls_errors_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_rejected_rcpt_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_sender_verify_fail_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_tls_errors_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_sender_verify_defer_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_sender_verify_fail_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_too_many_connections_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_sender_verify_defer_total')
+ self.assertIn(('', 1), s)
- m = self.store.get_metric('exim_rejected_helo_total')
- self.assertEqual(1, m._value)
+ s = self.store.get_samples('exim_too_many_connections_total')
+ self.assertIn(('', 1), s)
+
+ s = self.store.get_samples('exim_rejected_helo_total')
+ self.assertIn(('', 1), s)
diff --git a/modules/mtail/files/test/mtail_store.py
b/modules/mtail/files/test/mtail_store.py
index 527e315..360611c 100644
--- a/modules/mtail/files/test/mtail_store.py
+++ b/modules/mtail/files/test/mtail_store.py
@@ -29,23 +29,16 @@
self._store = json.loads(''.join(metrics_store))
- def get_metric(self, name):
+ def get_samples(self, name):
+ """Return all samples for metric name as a list of samples.
+ Each sample is in this form: ("k1=v1,k2=v2", value)"""
+ samples = []
if name not in self._store:
raise ValueError('metric %s not found in store', name)
- return MtailMetric(self._store[name][0].get('Keys', []),
-
self._store[name][0]['LabelValues'][0].get('Labels', []),
-
self._store[name][0]['LabelValues'][0]['Value']['Value'])
-
-
-class MtailMetric(object):
- def __init__(self, keys, labels, value):
- self._keys = keys
- self._labels = labels
- self._value = value
- self._labelpairs = self.get_labelpairs(keys, labels)
-
- def get_labelpairs(self, keys, labels):
- res = []
- for k, v in zip(keys, labels):
- res.append('%s=%s' % (k, v))
- return res
+ for metric in self._store[name][0]['LabelValues']:
+ label_names = self._store[name][0].get('Keys', [])
+ label_values = metric.get('Labels', [])
+ value = metric['Value']['Value']
+ labelpairs = ["%s=%s" % (k, v) for k, v in zip(label_names,
label_values)]
+ samples.append((','.join(labelpairs), value))
+ return samples
--
To view, visit https://gerrit.wikimedia.org/r/397889
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I7bc5e375e355153c8d5cce9e496cb648deb24cb2
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Filippo Giunchedi <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits