Source code for glideinwms.unittests.test_lib_servicePerformance
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2009 Fermi Research Alliance, LLC
# SPDX-License-Identifier: Apache-2.0
"""
Project:
glideinWMS
Description:
unit test for glideinwms/lib/servicePerformance.py
Author:
Dennis Box dbox@fnal.gov
"""
import unittest
import xmlrunner
from glideinwms.lib.servicePerformance import (
endPerfMetricEvent,
getPerfMetric,
getPerfMetricEventLifetime,
PerfMetric,
startPerfMetricEvent,
)
# define these globally for convenience
name = "timing_test"
expected_repr = "{'timing_test': {}}"
event_name = "test_start"
event_begin = 1518767040
event_begin_repr = "{'timing_test': {'test_start': {'start_time': 1518767040}}}"
event_end = 1518768040
event_end_repr = "{'timing_test': {'test_start': {'start_time': 1518767040, 'end_time': 1518768040}}}"
t_tag = "t_tag"
tagged_event_repr = "{'timing_test': {'test_start': {'t_tag': 1518767040}}}"
[docs]
class TestPerfMetric(unittest.TestCase):
[docs]
def test___init__(self):
perf_metric = PerfMetric(name)
self.assertNotEqual(perf_metric, None)
[docs]
def test___repr__(self):
perf_metric = PerfMetric(name)
self.assertEqual(expected_repr, perf_metric.__repr__())
[docs]
def test___str__(self):
perf_metric = PerfMetric(name)
self.assertEqual(expected_repr, perf_metric.__str__())
[docs]
def test_deregister_event(self):
perf_metric = PerfMetric(name)
perf_metric.register_event_time(event_name, t_tag, event_begin)
perf_metric.deregister_event(event_name)
self.assertEqual(expected_repr, perf_metric.__repr__())
[docs]
def test_event_end(self):
perf_metric = PerfMetric(name)
perf_metric.event_start(event_name, event_begin)
perf_metric.event_end(event_name, event_end)
self.assertEqual(event_end_repr, perf_metric.__repr__())
[docs]
def test_event_lifetime(self):
perf_metric = PerfMetric(name)
perf_metric.event_start(event_name, event_begin)
perf_metric.event_end(event_name, event_end)
self.assertEqual(1000, perf_metric.event_lifetime(event_name, check_active_event=True))
[docs]
def test_event_start(self):
perf_metric = PerfMetric(name)
perf_metric.event_start(event_name, event_begin)
self.assertEqual(event_begin_repr, perf_metric.__repr__())
[docs]
def test_register_event_time(self):
perf_metric = PerfMetric(name)
perf_metric.register_event_time(event_name, t_tag, event_begin)
self.assertEqual(tagged_event_repr, perf_metric.__repr__())
[docs]
class TestGetPerfMetricEventLifetime(unittest.TestCase):
[docs]
def test_get_perf_metric_event_lifetime(self):
startPerfMetricEvent(name, event_name, event_begin)
endPerfMetricEvent(name, event_name, event_end)
self.assertEqual(1000, getPerfMetricEventLifetime(name, event_name))
[docs]
class TestGetPerfMetric(unittest.TestCase):
[docs]
def test_get_perf_metric(self):
startPerfMetricEvent(name, event_name, event_begin)
endPerfMetricEvent(name, event_name, event_end)
self.assertEqual(event_end_repr, getPerfMetric(name).__repr__())
if __name__ == "__main__":
unittest.main(testRunner=xmlrunner.XMLTestRunner(output="unittests-reports"))