Skip to content

Commit 976618f

Browse files
committed
Add test to check sqlite3 sends service_info
1 parent 6f5025c commit 976618f

File tree

4 files changed

+32
-18
lines changed

4 files changed

+32
-18
lines changed

tests/contrib/httplib/test_httplib.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
from ddtrace.contrib.httplib.patch import should_skip_request
1313
from ddtrace.pin import Pin
1414

15-
from .utils import override_global_tracer
1615
from ...test_tracer import get_dummy_tracer
17-
from ...util import assert_dict_issuperset
16+
from ...util import assert_dict_issuperset, override_global_tracer
1817

1918

2019
if PY2:

tests/contrib/httplib/utils.py

Lines changed: 0 additions & 16 deletions
This file was deleted.

tests/contrib/sqlite3/test_sqlite3.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from nose.tools import eq_
77

88
# project
9+
import ddtrace
910
from ddtrace import Pin
1011
from ddtrace.contrib.sqlite3 import connection_factory
1112
from ddtrace.contrib.sqlite3.patch import patch, unpatch
@@ -31,6 +32,22 @@ def setUp(self):
3132
def tearDown(self):
3233
unpatch()
3334

35+
def test_service_info(self):
36+
tracer = get_dummy_tracer()
37+
backup_tracer = ddtrace.tracer
38+
ddtrace.tracer = tracer
39+
40+
db = sqlite3.connect(":memory:")
41+
42+
services = tracer.writer.pop_services()
43+
eq_(len(services), 1)
44+
expected = {
45+
'sqlite': {'app': 'sqlite', 'app_type': 'db'}
46+
}
47+
eq_(expected, services)
48+
49+
ddtrace.tracer = backup_tracer
50+
3451
def test_sqlite(self):
3552
tracer = get_dummy_tracer()
3653
writer = tracer.writer

tests/util.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1+
import ddtrace
12
import mock
3+
from contextlib import contextmanager
24
from nose.tools import ok_
35

46
class FakeTime(object):
@@ -38,3 +40,15 @@ def assert_dict_issuperset(a, b):
3840
def assert_list_issuperset(a, b):
3941
ok_(set(a).issuperset(set(b)),
4042
msg="{a} is not a superset of {b}".format(a=a, b=b))
43+
44+
@contextmanager
45+
def override_global_tracer(tracer):
46+
"""Helper functions that overrides the global tracer available in the
47+
`ddtrace` package. This is required because in some `httplib` tests we
48+
can't get easily the PIN object attached to the `HTTPConnection` to
49+
replace the used tracer with a dummy tracer.
50+
"""
51+
original_tracer = ddtrace.tracer
52+
ddtrace.tracer = tracer
53+
yield
54+
ddtrace.tracer = original_tracer

0 commit comments

Comments
 (0)