def test_default_tracer():
    class Sender(object):
        def __init__(self):
            self._channel = mock.MagicMock()
            self.io_loop = mock.MagicMock()

    channel = Sender()
    sampler = ConstSampler(False)
    tracer = Tracer.default_tracer(channel=channel, service_name='service')
    assert tracer.reporter._channel == channel

    reporter = 'reporter'
    tracer = Tracer.default_tracer(channel=channel, service_name='service',
                                   reporter=reporter)
    assert tracer.reporter == reporter

    tracer = Tracer.default_tracer(channel=channel, service_name='service',
                                   sampler=sampler)
    assert tracer.sampler == sampler
def tracer():
    reporter = mock.MagicMock()
    sampler = ConstSampler(True)
    return Tracer.default_tracer(None, 'test_service_1', reporter, sampler)