def test_render(self): # render t = Template('Hello ${name}!') self.assertEqual(t.render(name='mako'), 'Hello mako!') spans = self.tracer.writer.pop() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, 'mako') self.assertEqual(spans[0].span_type, 'template') self.assertEqual(spans[0].get_tag('mako.template_name'), '<memory>') self.assertEqual(spans[0].name, 'mako.template.render') self.assertEqual(spans[0].resource, '<memory>') # render_unicode t = Template('Hello ${name}!') self.assertEqual(t.render_unicode(name='mako'), to_unicode('Hello mako!')) spans = self.tracer.writer.pop() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, 'mako') self.assertEqual(spans[0].span_type, 'template') self.assertEqual(spans[0].get_tag('mako.template_name'), '<memory>') self.assertEqual(spans[0].name, 'mako.template.render_unicode') self.assertEqual(spans[0].resource, '<memory>') # render_context t = Template('Hello ${name}!') buf = StringIO() c = Context(buf, name='mako') t.render_context(c) self.assertEqual(buf.getvalue(), 'Hello mako!') spans = self.tracer.writer.pop() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, 'mako') self.assertEqual(spans[0].span_type, 'template') self.assertEqual(spans[0].get_tag('mako.template_name'), '<memory>') self.assertEqual(spans[0].name, 'mako.template.render_context') self.assertEqual(spans[0].resource, '<memory>')
def test_render(self): # render t = Template("Hello ${name}!") self.assertEqual(t.render(name="mako"), "Hello mako!") spans = self.pop_spans() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, "mako") self.assertEqual(spans[0].span_type, "template") self.assertEqual(spans[0].get_tag("mako.template_name"), DEFAULT_TEMPLATE_NAME) self.assertEqual(spans[0].name, "mako.template.render") self.assertEqual(spans[0].resource, DEFAULT_TEMPLATE_NAME) # render_unicode t = Template("Hello ${name}!") self.assertEqual(t.render_unicode(name="mako"), to_unicode("Hello mako!")) spans = self.pop_spans() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, "mako") self.assertEqual(spans[0].span_type, "template") self.assertEqual(spans[0].get_tag("mako.template_name"), DEFAULT_TEMPLATE_NAME) self.assertEqual(spans[0].name, "mako.template.render_unicode") self.assertEqual(spans[0].resource, DEFAULT_TEMPLATE_NAME) # render_context t = Template("Hello ${name}!") buf = StringIO() c = Context(buf, name="mako") t.render_context(c) self.assertEqual(buf.getvalue(), "Hello mako!") spans = self.pop_spans() self.assertEqual(len(spans), 1) assert_is_measured(spans[0]) self.assertEqual(spans[0].service, "mako") self.assertEqual(spans[0].span_type, "template") self.assertEqual(spans[0].get_tag("mako.template_name"), DEFAULT_TEMPLATE_NAME) self.assertEqual(spans[0].name, "mako.template.render_context") self.assertEqual(spans[0].resource, DEFAULT_TEMPLATE_NAME)
def capture_function_log(func, fmt=DEFAULT_FORMAT, logger_override=None): if logger_override is not None: logger_to_capture = logger_override else: logger_to_capture = logger # add stream handler to capture output out = StringIO() sh = logging.StreamHandler(out) try: formatter = logging.Formatter(fmt) sh.setFormatter(formatter) logger_to_capture.addHandler(sh) assert_filter = AssertFilter() logger_to_capture.addFilter(assert_filter) result = func() finally: logger_to_capture.removeHandler(sh) logger_to_capture.removeFilter(assert_filter) return out.getvalue().strip(), result