Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(30)

Unified Diff: infra_libs/event_mon/test/config_test.py

Issue 2213143002: Add infra_libs as a bootstrap dependency. (Closed) Base URL: https://chromium.googlesource.com/infra/infra.git@master
Patch Set: Removed the ugly import hack Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
deleted file mode 100644
index 59b87be37e0df4f64c4a7f3309a4b24aa43058cc..0000000000000000000000000000000000000000
--- a/infra_libs/event_mon/test/config_test.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 2015 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import argparse
-import os
-import traceback
-import unittest
-
-import mock
-
-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)
- args = parser.parse_args((args or []))
- # Safety net. We really don't want to send something to a real endpoint.
- self.assertTrue((args.event_mon_run_type not in ('test', 'prod'))
- or args.dry_run)
- event_mon.process_argparse_options(args)
- r = config._router
- self.assertIsInstance(r, router._Router)
- # Check that process_argparse_options is idempotent
- event_mon.process_argparse_options(args)
- self.assertIs(config._router, r)
-
- def _close(self):
- self.assertTrue(event_mon.close())
- self.assertFalse(config._cache)
- # Test that calling it twice does not raise an exception.
- self.assertTrue(event_mon.close())
-
- def test_no_args_smoke(self): # pragma: no cover
- self._set_up_args()
-
- def test_args_and_default_event(self): # pragma: no cover
- # The protobuf structure is actually an API not an implementation detail
- # so it's sane to test for changes.
- hostname = 'a'
- service_name = 'b'
- appengine_name = 'c'
-
- args = ['--event-mon-run-type', 'dry',
- '--event-mon-hostname', hostname,
- '--event-mon-service-name', service_name,
- '--event-mon-appengine-name', appengine_name]
- self._set_up_args(args=args)
- event = event_mon.get_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:
- with infra_libs.temporary_directory(prefix='config_test-') as tempdir:
- filename = os.path.join(tempdir, 'output.db')
- self._set_up_args(args=['--event-mon-run-type', 'file',
- '--event-mon-output-file', filename])
- self.assertEqual(config._router.output_file, filename)
- except Exception: # pragma: no cover
- # help for debugging
- traceback.print_exc()
- raise
-
- # Direct setup_monitoring testing below this line.
- def test_default_event(self):
- # The protobuf structure is actually an API not an implementation detail
- # so it's sane to test for changes.
- event_mon.setup_monitoring()
- event = event_mon.get_default_event()
- self.assertTrue(event.event_source.HasField('host_name'))
- self.assertFalse(event.event_source.HasField('service_name'))
- self.assertFalse(event.event_source.HasField('appengine_name'))
-
- @mock.patch('os.environ')
- def test_logging_on_appengine(self, environ):
- environ.get.return_value = 'Google App Engine/1.2.3'
- event_mon.setup_monitoring()
- self.assertIsInstance(config._router, router._LoggingStreamRouter)
-
- environ.get.return_value = 'Development/1.2'
- event_mon.setup_monitoring()
- self.assertIsInstance(config._router, router._LoggingStreamRouter)
-
- 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.
- hostname = 'a'
- service_name = 'b'
- appengine_name = 'c'
-
- event_mon.setup_monitoring(
- hostname=hostname,
- service_name=service_name,
- appengine_name=appengine_name
- )
- event = event_mon.get_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_set_default_event(self):
- event_mon.setup_monitoring()
- orig_event = event_mon.get_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 = event_mon.get_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'})
-
- def test_get_default_event(self):
- event_mon.setup_monitoring()
- orig_event = config._cache['default_event']
- self.assertEqual(orig_event, event_mon.get_default_event())
- self.assertIsNot(orig_event, event_mon.get_default_event())
-
- def test_run_type_test(self):
- event_mon.setup_monitoring(run_type='test', service_account_creds='creds')
- self.assertEquals(config._cache['service_account_creds'], 'creds')
-
- def test_run_type_invalid(self):
- event_mon.setup_monitoring(run_type='invalid.')
- self.assertFalse(isinstance(config._router, router._HttpRouter))

Powered by Google App Engine
This is Rietveld 408576698