| Index: infra_libs/event_mon/test/config_test.py
|
| diff --git a/infra_libs/event_mon/test/config_test.py b/infra_libs/event_mon/test/config_test.py
|
| index d0ada06ecf5ca38cc52d95e3a7d55326b85528fe..ecadd455adf8c5cc818fc8fc5bf8b9bbf12547b0 100644
|
| --- a/infra_libs/event_mon/test/config_test.py
|
| +++ b/infra_libs/event_mon/test/config_test.py
|
| @@ -10,9 +10,13 @@ import unittest
|
| import infra_libs
|
| from infra_libs import event_mon
|
| from infra_libs.event_mon import config, router
|
| +from infra_libs.event_mon.protos import chrome_infra_log_pb2
|
|
|
|
|
| class ConfigTest(unittest.TestCase):
|
| + def tearDown(self):
|
| + self._close()
|
| +
|
| def _set_up_args(self, args=None): # pragma: no cover
|
| parser = argparse.ArgumentParser()
|
| event_mon.add_argparse_options(parser)
|
| @@ -28,7 +32,6 @@ class ConfigTest(unittest.TestCase):
|
| self.assertIs(config._router, r)
|
|
|
| def _close(self):
|
| - self.assertTrue(config._router)
|
| self.assertTrue(event_mon.close())
|
| self.assertFalse(config._cache)
|
| # Test that calling it twice does not raise an exception.
|
| @@ -36,7 +39,6 @@ class ConfigTest(unittest.TestCase):
|
|
|
| def test_no_args_smoke(self): # pragma: no cover
|
| self._set_up_args()
|
| - self._close()
|
|
|
| def test_args_and_default_event(self): # pragma: no cover
|
| # The protobuf structure is actually an API not an implementation detail
|
| @@ -49,14 +51,11 @@ class ConfigTest(unittest.TestCase):
|
| '--event-mon-hostname', hostname,
|
| '--event-mon-service-name', service_name,
|
| '--event-mon-appengine-name', appengine_name]
|
| - try:
|
| - self._set_up_args(args=args)
|
| - event = config._cache['default_event']
|
| - self.assertEquals(event.event_source.host_name, hostname)
|
| - self.assertEquals(event.event_source.service_name, service_name)
|
| - self.assertEquals(event.event_source.appengine_name, appengine_name)
|
| - finally:
|
| - self._close()
|
| + self._set_up_args(args=args)
|
| + event = config._cache['default_event']
|
| + self.assertEquals(event.event_source.host_name, hostname)
|
| + self.assertEquals(event.event_source.service_name, service_name)
|
| + self.assertEquals(event.event_source.appengine_name, appengine_name)
|
|
|
| def test_run_type_file_good(self):
|
| try:
|
| @@ -69,8 +68,6 @@ class ConfigTest(unittest.TestCase):
|
| # help for debugging
|
| traceback.print_exc()
|
| raise
|
| - finally:
|
| - self._close()
|
|
|
| # Direct setup_monitoring testing below this line.
|
| def test_default_event(self):
|
| @@ -82,8 +79,6 @@ class ConfigTest(unittest.TestCase):
|
| self.assertFalse(event.event_source.HasField('service_name'))
|
| self.assertFalse(event.event_source.HasField('appengine_name'))
|
|
|
| - self._close()
|
| -
|
| def test_default_event_with_values(self):
|
| # The protobuf structure is actually an API not an implementation detail
|
| # so it's sane to test for changes.
|
| @@ -101,4 +96,23 @@ class ConfigTest(unittest.TestCase):
|
| self.assertEquals(event.event_source.service_name, service_name)
|
| self.assertEquals(event.event_source.appengine_name, appengine_name)
|
|
|
| - self._close()
|
| + def test_set_default_event(self):
|
| + event_mon.setup_monitoring()
|
| + orig_event = config._cache['default_event']
|
| +
|
| + # Set the new default event to something different from orig_event
|
| + # to make sure it has changed.
|
| + event = chrome_infra_log_pb2.ChromeInfraEvent()
|
| + new_hostname = orig_event.event_source.host_name + '.foo'
|
| + event.event_source.host_name = new_hostname
|
| + event_mon.set_default_event(event)
|
| +
|
| + new_event = config._cache['default_event']
|
| + self.assertEquals(new_event.event_source.host_name, new_hostname)
|
| +
|
| + def test_set_default_event_bad_type(self):
|
| + event_mon.setup_monitoring()
|
| +
|
| + # bad type
|
| + with self.assertRaises(TypeError):
|
| + event_mon.set_default_event({'hostname': 'foo'})
|
|
|