本文整理汇总了Python中baseplate.Baseplate类的典型用法代码示例。如果您正苦于以下问题:Python Baseplate类的具体用法?Python Baseplate怎么用?Python Baseplate使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Baseplate类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_configure_tracing_with_defaults_legacy_style
def test_configure_tracing_with_defaults_legacy_style(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
baseplate.configure_tracing('test')
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test',tracing_observer.service_name)
示例2: test_configure_tracing_with_defaults_new_style
def test_configure_tracing_with_defaults_new_style(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
client = make_client("test")
baseplate.configure_tracing(client)
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test',tracing_observer.service_name)
示例3: make_wsgi_app
def make_wsgi_app(app_config):
cfg = config.parse_config(app_config)
signer = MessageSigner(cfg.ads_tracking.click_secret)
metrics_client = make_metrics_client(app_config)
baseplate = Baseplate()
baseplate.configure_logging()
baseplate.configure_metrics(metrics_client)
baseplate.add_to_context("events", events.EventQueue("production"))
baseplate.add_to_context("events_test", events.EventQueue("test"))
configurator = Configurator(settings=app_config)
baseplate_configurator = BaseplateConfigurator(baseplate)
configurator.include(baseplate_configurator.includeme)
controller = TrackingService(
signer=signer,
)
configurator.add_route("health", "/health", request_method="GET")
configurator.add_view(
controller.is_healthy, route_name="health", renderer="json")
configurator.add_route("click", "/click", request_method="GET")
configurator.add_view(
controller.track_click, route_name="click", renderer="json")
return configurator.make_wsgi_app()
示例4: test_configure_tracing_with_args
def test_configure_tracing_with_args(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
baseplate.configure_tracing('test',
None,
max_span_queue_size=500,
num_span_workers=5,
span_batch_interval=0.5,
num_conns=100,
sample_rate=0.1)
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test', tracing_observer.service_name)
示例5: setUp
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_route("trace_context", "/trace_context", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
configurator.add_view(
local_tracing_within_context, route_name="trace_context", renderer="json")
self.observer = mock.Mock(spec=BaseplateObserver)
self.server_observer = mock.Mock(spec=ServerSpanObserver)
def _register_mock(context, server_span):
server_span.register(self.server_observer)
self.observer.on_server_span_created.side_effect = _register_mock
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
示例6: TracingTests
class TracingTests(unittest.TestCase):
def _register_mock(self, context, server_span):
server_span_observer = TraceServerSpanObserver('test-service',
'test-hostname',
server_span,
NullRecorder())
server_span.register(server_span_observer)
self.server_span_observer = server_span_observer
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
self.observer = TraceBaseplateObserver('test-service')
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
def test_trace_on_inbound_request(self):
with mock.patch.object(TraceBaseplateObserver, 'on_server_span_created',
side_effect=self._register_mock) as mocked:
self.test_app.get('/example')
span = self.server_span_observer._serialize()
self.assertEqual(span['name'], 'example')
self.assertEqual(len(span['annotations']), 2)
self.assertEqual(span['parentId'], 0)
示例7: setUp
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
self.observer = mock.Mock(spec=BaseplateObserver)
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
示例8: make_wsgi_app
def make_wsgi_app(app_config):
cfg = config.parse_config(app_config, {
"session": {
"secret": config.Base64,
}
})
# configure pyramid
configurator = Configurator(settings=app_config)
configurator.include("pyramid_jinja2")
configurator.set_default_csrf_options(require_csrf=True)
configurator.set_session_factory(SignedCookieSessionFactory(cfg.session.secret))
authn_policy = RemoteUserAuthenticationPolicy(environ_key="HTTP_AUTHENTICATED_USER")
authz_policy = ACLAuthorizationPolicy()
configurator.set_authentication_policy(authn_policy)
configurator.set_authorization_policy(authz_policy)
configurator.add_request_method(get_authenticated_user, "user", reify=True)
configurator.add_static_view(name="static", path="condor:static/")
configurator.add_route("home", "/")
configurator.add_route("polls", "/polls")
configurator.add_route("poll", "/polls/{id:\d+}")
configurator.scan("condor.views")
# configure baseplate
metrics_client = make_metrics_client(app_config)
baseplate = Baseplate()
baseplate.configure_logging()
baseplate.configure_metrics(metrics_client)
engine = engine_from_config(app_config, prefix="database.")
baseplate.add_to_context("db", SQLAlchemySessionContextFactory(engine))
baseplate_configurator = BaseplateConfigurator(baseplate)
configurator.include(baseplate_configurator.includeme)
return configurator.make_wsgi_app()
示例9: ConfiguratorTests
class ConfiguratorTests(unittest.TestCase):
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
self.observer = mock.Mock(spec=BaseplateObserver)
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
def test_no_trace_headers(self):
self.test_app.get("/example")
self.assertEqual(self.observer.on_root_span_created.call_count, 1)
context, root_span = self.observer.on_root_span_created.call_args[0]
self.assertIsInstance(context, Request)
self.assertEqual(root_span.trace_id, "no-trace")
self.assertEqual(root_span.parent_id, "no-parent")
self.assertEqual(root_span.id, "no-span")
mock_root_observer = self.observer.on_root_span_created.return_value
self.assertTrue(mock_root_observer.on_start.called)
self.assertTrue(mock_root_observer.on_stop.called)
def test_trace_headers(self):
self.test_app.get("/example", headers={
"X-Trace": "1234",
"X-Parent": "2345",
"X-Span": "3456",
})
self.assertEqual(self.observer.on_root_span_created.call_count, 1)
context, root_span = self.observer.on_root_span_created.call_args[0]
self.assertIsInstance(context, Request)
self.assertEqual(root_span.trace_id, "1234")
self.assertEqual(root_span.parent_id, "2345")
self.assertEqual(root_span.id, "3456")
mock_root_observer = self.observer.on_root_span_created.return_value
self.assertTrue(mock_root_observer.on_start.called)
self.assertTrue(mock_root_observer.on_stop.called)
def test_not_found(self):
self.test_app.get("/nope", status=404)
self.assertFalse(self.observer.on_root_span_created.called)
@mock.patch("random.getrandbits")
def test_distrust_headers(self, getrandbits):
self.baseplate_configurator.trust_trace_headers = False
self.test_app.get("/example", headers={
"X-Trace": "1234",
"X-Parent": "2345",
"X-Span": "3456",
})
context, root_span = self.observer.on_root_span_created.call_args[0]
self.assertEqual(root_span.trace_id, getrandbits.return_value)
self.assertEqual(root_span.parent_id, None)
self.assertEqual(root_span.id, getrandbits.return_value)
示例10: ConfiguratorTests
class ConfiguratorTests(unittest.TestCase):
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_route("trace_context", "/trace_context", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
configurator.add_view(
local_tracing_within_context, route_name="trace_context", renderer="json")
self.observer = mock.Mock(spec=BaseplateObserver)
self.server_observer = mock.Mock(spec=ServerSpanObserver)
def _register_mock(context, server_span):
server_span.register(self.server_observer)
self.observer.on_server_span_created.side_effect = _register_mock
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
@mock.patch("random.getrandbits")
def test_no_trace_headers(self, getrandbits):
getrandbits.return_value = 1234
self.test_app.get("/example")
self.assertEqual(self.observer.on_server_span_created.call_count, 1)
context, server_span = self.observer.on_server_span_created.call_args[0]
self.assertEqual(server_span.trace_id, 1234)
self.assertEqual(server_span.parent_id, None)
self.assertEqual(server_span.id, 1234)
self.assertTrue(self.server_observer.on_start.called)
self.assertTrue(self.server_observer.on_finish.called)
def test_trace_headers(self):
self.test_app.get("/example", headers={
"X-Trace": "1234",
"X-Parent": "2345",
"X-Span": "3456",
"X-Sampled": "1",
"X-Flags": "1",
})
self.assertEqual(self.observer.on_server_span_created.call_count, 1)
context, server_span = self.observer.on_server_span_created.call_args[0]
self.assertEqual(server_span.trace_id, 1234)
self.assertEqual(server_span.parent_id, 2345)
self.assertEqual(server_span.id, 3456)
self.assertEqual(server_span.sampled, True)
self.assertEqual(server_span.flags, 1)
self.assertTrue(self.server_observer.on_start.called)
self.assertTrue(self.server_observer.on_finish.called)
def test_not_found(self):
self.test_app.get("/nope", status=404)
self.assertFalse(self.observer.on_server_span_created.called)
def test_exception_caught(self):
with self.assertRaises(TestException):
self.test_app.get("/example?error")
self.assertTrue(self.server_observer.on_start.called)
self.assertTrue(self.server_observer.on_finish.called)
_, captured_exc, _ = self.server_observer.on_finish.call_args[0][0]
self.assertIsInstance(captured_exc, TestException)
@mock.patch("random.getrandbits")
def test_distrust_headers(self, getrandbits):
getrandbits.return_value = 1234
self.baseplate_configurator.trust_trace_headers = False
self.test_app.get("/example", headers={
"X-Trace": "1234",
"X-Parent": "2345",
"X-Span": "3456",
})
context, server_span = self.observer.on_server_span_created.call_args[0]
self.assertEqual(server_span.trace_id, getrandbits.return_value)
self.assertEqual(server_span.parent_id, None)
self.assertEqual(server_span.id, getrandbits.return_value)
def test_local_trace_in_context(self):
self.test_app.get('/trace_context')
self.assertEqual(self.server_observer.on_child_span_created.call_count, 1)
child_span = self.server_observer.on_child_span_created.call_args[0][0]
context, server_span = self.observer.on_server_span_created.call_args[0]
self.assertNotEqual(child_span.context, context)
示例11: __init__
def __init__(self, config, global_conf, app_conf, paths, **extra):
"""
Globals acts as a container for objects available throughout
the life of the application.
One instance of Globals is created by Pylons during
application initialization and is available during requests
via the 'g' variable.
``config``
The PylonsConfig object passed in from ``config/environment.py``
``global_conf``
The same variable used throughout ``config/middleware.py``
namely, the variables from the ``[DEFAULT]`` section of the
configuration file.
``app_conf``
The same ``kw`` dictionary used throughout
``config/middleware.py`` namely, the variables from the
section in the config file for your application.
``extra``
The configuration returned from ``load_config`` in
``config/middleware.py`` which may be of use in the setup of
your global variables.
"""
global_conf.setdefault("debug", False)
# reloading site ensures that we have a fresh sys.path to build our
# working set off of. this means that forked worker processes won't get
# the sys.path that was current when the master process was spawned
# meaning that new plugins will be picked up on regular app reload
# rather than having to restart the master process as well.
reload(site)
self.pkg_resources_working_set = pkg_resources.WorkingSet()
self.config = ConfigValueParser(global_conf)
self.config.add_spec(self.spec)
self.plugins = PluginLoader(self.pkg_resources_working_set,
self.config.get("plugins", []))
self.stats = Stats(self.config.get('statsd_addr'),
self.config.get('statsd_sample_rate'))
self.startup_timer = self.stats.get_timer("app_startup")
self.startup_timer.start()
self.baseplate = Baseplate()
self.baseplate.configure_logging()
self.baseplate.register(R2BaseplateObserver())
self.paths = paths
self.running_as_script = global_conf.get('running_as_script', False)
# turn on for language support
self.lang = getattr(self, 'site_lang', 'en')
self.languages, self.lang_name = get_active_langs(
config, default_lang=self.lang)
all_languages = self.lang_name.keys()
all_languages.sort()
self.all_languages = all_languages
# set default time zone if one is not set
tz = global_conf.get('timezone', 'UTC')
self.tz = pytz.timezone(tz)
dtz = global_conf.get('display_timezone', tz)
self.display_tz = pytz.timezone(dtz)
self.startup_timer.intermediate("init")
示例12: Globals
#.........这里部分代码省略.........
``app_conf``
The same ``kw`` dictionary used throughout
``config/middleware.py`` namely, the variables from the
section in the config file for your application.
``extra``
The configuration returned from ``load_config`` in
``config/middleware.py`` which may be of use in the setup of
your global variables.
"""
global_conf.setdefault("debug", False)
# reloading site ensures that we have a fresh sys.path to build our
# working set off of. this means that forked worker processes won't get
# the sys.path that was current when the master process was spawned
# meaning that new plugins will be picked up on regular app reload
# rather than having to restart the master process as well.
reload(site)
self.pkg_resources_working_set = pkg_resources.WorkingSet()
self.config = ConfigValueParser(global_conf)
self.config.add_spec(self.spec)
self.plugins = PluginLoader(self.pkg_resources_working_set,
self.config.get("plugins", []))
self.stats = Stats(self.config.get('statsd_addr'),
self.config.get('statsd_sample_rate'))
self.startup_timer = self.stats.get_timer("app_startup")
self.startup_timer.start()
self.baseplate = Baseplate()
self.baseplate.configure_logging()
self.baseplate.register(R2BaseplateObserver())
self.paths = paths
self.running_as_script = global_conf.get('running_as_script', False)
# turn on for language support
self.lang = getattr(self, 'site_lang', 'en')
self.languages, self.lang_name = get_active_langs(
config, default_lang=self.lang)
all_languages = self.lang_name.keys()
all_languages.sort()
self.all_languages = all_languages
# set default time zone if one is not set
tz = global_conf.get('timezone', 'UTC')
self.tz = pytz.timezone(tz)
dtz = global_conf.get('display_timezone', tz)
self.display_tz = pytz.timezone(dtz)
self.startup_timer.intermediate("init")
def __getattr__(self, name):
if not name.startswith('_') and name in self.config:
return self.config[name]
else:
raise AttributeError("g has no attr %r" % name)
def setup(self):
示例13: TracingTests
class TracingTests(unittest.TestCase):
def _register_mock(self, context, server_span):
server_span_observer = TraceServerSpanObserver('test-service',
'test-hostname',
server_span,
NullRecorder())
server_span.register(server_span_observer)
self.server_span_observer = server_span_observer
def setUp(self):
configurator = Configurator()
configurator.add_route("example", "/example", request_method="GET")
configurator.add_view(
example_application, route_name="example", renderer="json")
self.client = make_client("test-service")
self.observer = TraceBaseplateObserver(self.client)
self.baseplate = Baseplate()
self.baseplate.register(self.observer)
self.baseplate_configurator = BaseplateConfigurator(
self.baseplate,
trust_trace_headers=True,
)
configurator.include(self.baseplate_configurator.includeme)
app = configurator.make_wsgi_app()
self.test_app = webtest.TestApp(app)
def test_trace_on_inbound_request(self):
with mock.patch.object(TraceBaseplateObserver, 'on_server_span_created',
side_effect=self._register_mock) as mocked:
self.test_app.get('/example')
span = self.server_span_observer._serialize()
self.assertEqual(span['name'], 'example')
self.assertEqual(len(span['annotations']), 2)
self.assertEqual(span['parentId'], 0)
def test_configure_tracing_with_defaults_legacy_style(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
baseplate.configure_tracing('test')
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test',tracing_observer.service_name)
def test_configure_tracing_with_defaults_new_style(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
client = make_client("test")
baseplate.configure_tracing(client)
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test',tracing_observer.service_name)
def test_configure_tracing_with_args(self):
baseplate = Baseplate()
self.assertEqual(0, len(baseplate.observers))
baseplate.configure_tracing('test',
None,
max_span_queue_size=500,
num_span_workers=5,
span_batch_interval=0.5,
num_conns=100,
sample_rate=0.1)
self.assertEqual(1, len(baseplate.observers))
tracing_observer = baseplate.observers[0]
self.assertEqual('test', tracing_observer.service_name)