Skip to content

Commit e71c637

Browse files
committed
mongoengine: restore v3 interface
1 parent db3ac40 commit e71c637

File tree

3 files changed

+36
-2
lines changed

3 files changed

+36
-2
lines changed

ddtrace/contrib/mongoengine/__init__.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
with require_modules(required_modules) as missing_modules:
2626
if not missing_modules:
27-
from .patch import patch
27+
from .patch import patch, trace_mongoengine
28+
29+
__all__ = ['patch', 'trace_mongoengine']
30+
2831

29-
__all__ = ['patch']

ddtrace/contrib/mongoengine/patch.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import mongoengine
22

33
from .trace import WrappedConnect
4+
from ddtrace.util import deprecated
45

56
# Original connect function
67
_connect = mongoengine.connect
@@ -12,3 +13,7 @@ def patch():
1213
def unpatch():
1314
setattr(mongoengine, 'connect', _connect)
1415

16+
@deprecated(message='Use patching instead (see the docs).', version='0.6.0')
17+
def trace_mongoengine(*args, **kwargs):
18+
return _connect
19+
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""
2+
ensure old interfaces exist and won't break things.
3+
"""
4+
5+
6+
import mongoengine
7+
8+
from tests.test_tracer import get_dummy_tracer
9+
from tests.contrib import config
10+
11+
class Singer(mongoengine.Document):
12+
first_name = mongoengine.StringField(max_length=50)
13+
last_name = mongoengine.StringField(max_length=50)
14+
15+
16+
def test_less_than_v04():
17+
# interface from < v0.4
18+
from ddtrace.contrib.mongoengine import trace_mongoengine
19+
tracer = get_dummy_tracer()
20+
21+
connect = trace_mongoengine(tracer, service="my-mongo-db", patch=False)
22+
connect(port=config.MONGO_CONFIG['port'])
23+
24+
lc = Singer()
25+
lc.first_name = 'leonard'
26+
lc.last_name = 'cohen'
27+
lc.save()

0 commit comments

Comments
 (0)