Skip to content

Commit 51d960b

Browse files
committed
Make previous commit backwards compatible persist metadata as it was.
1 parent 8e43f1c commit 51d960b

File tree

2 files changed

+17
-21
lines changed

2 files changed

+17
-21
lines changed

aws_xray_sdk/ext/psycopg2/patch.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import re
22
import wrapt
3+
from operator import methodcaller
34

45
from aws_xray_sdk.ext.dbapi2 import XRayTracedConn
56

@@ -16,9 +17,16 @@ def patch():
1617
def _xray_traced_connect(wrapped, instance, args, kwargs):
1718

1819
conn = wrapped(*args, **kwargs)
20+
parameterized_dsn = { c[0]: c[-1] for c in map(methodcaller('split', '='), conn.dsn.split(' '))}
1921
meta = {
2022
'database_type': 'PostgreSQL',
21-
'connection_string': conn.dsn,
23+
'url': 'postgresql://{}@{}:{}/{}'.format(
24+
parameterized_dsn.get('user', 'unknown'),
25+
parameterized_dsn.get('host', 'unknown'),
26+
parameterized_dsn.get('port', 'unknown'),
27+
parameterized_dsn.get('dbname', 'unknown'),
28+
),
29+
'user': parameterized_dsn.get('user', 'unknown'),
2230
'database_version': str(conn.server_version),
2331
'driver_version': 'Psycopg 2'
2432
}

tests/ext/psycopg2/test_psycopg2.py

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,8 @@ def test_execute_dsn_kwargs():
4242
assert subsegment.name == 'execute'
4343
sql = subsegment.sql
4444
assert sql['database_type'] == 'PostgreSQL'
45-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
46-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
47-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
48-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
49-
assert 'password=xxx' in sql['connection_string']
45+
assert sql['user'] == dsn['user']
46+
assert sql['url'] == url
5047
assert sql['database_version']
5148

5249

@@ -67,11 +64,8 @@ def test_execute_dsn_string():
6764
assert subsegment.name == 'execute'
6865
sql = subsegment.sql
6966
assert sql['database_type'] == 'PostgreSQL'
70-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
71-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
72-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
73-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
74-
assert 'password=xxx' in sql['connection_string']
67+
assert sql['user'] == dsn['user']
68+
assert sql['url'] == url
7569
assert sql['database_version']
7670

7771

@@ -93,11 +87,8 @@ def test_execute_in_pool():
9387
assert subsegment.name == 'execute'
9488
sql = subsegment.sql
9589
assert sql['database_type'] == 'PostgreSQL'
96-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
97-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
98-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
99-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
100-
assert 'password=xxx' in sql['connection_string']
90+
assert sql['user'] == dsn['user']
91+
assert sql['url'] == url
10192
assert sql['database_version']
10293

10394

@@ -121,11 +112,8 @@ def test_execute_bad_query():
121112
assert subsegment.name == 'execute'
122113
sql = subsegment.sql
123114
assert sql['database_type'] == 'PostgreSQL'
124-
assert 'user={}'.format(dsn['user']) in sql['connection_string']
125-
assert 'host={}'.format(dsn['host']) in sql['connection_string']
126-
assert 'dbname={}'.format(dsn['database']) in sql['connection_string']
127-
assert 'port={}'.format(dsn['port']) in sql['connection_string']
128-
assert 'password=xxx' in sql['connection_string']
115+
assert sql['user'] == dsn['user']
116+
assert sql['url'] == url
129117
assert sql['database_version']
130118

131119
exception = subsegment.cause['exceptions'][0]

0 commit comments

Comments
 (0)