99
1010from instana .singletons import tracer
1111
12+ from .helpers import testenv
13+
1214if sys .version_info < (3 , 0 ):
1315 import MySQLdb
1416else :
1719
1820logger = logging .getLogger (__name__ )
1921
20-
21- if 'MYSQL_HOST' in os .environ :
22- mysql_host = os .environ ['MYSQL_HOST' ]
23- elif 'TRAVIS_MYSQL_HOST' in os .environ :
24- mysql_host = os .environ ['TRAVIS_MYSQL_HOST' ]
25- else :
26- mysql_host = '127.0.0.1'
27-
28- if 'MYSQL_PORT' in os .environ :
29- mysql_port = int (os .environ ['MYSQL_PORT' ])
30- else :
31- mysql_port = 3306
32-
33- if 'MYSQL_DB' in os .environ :
34- mysql_db = os .environ ['MYSQL_DB' ]
35- else :
36- mysql_db = "travis_ci_test"
37-
38- if 'MYSQL_USER' in os .environ :
39- mysql_user = os .environ ['MYSQL_USER' ]
40- else :
41- mysql_user = "root"
42-
43- if 'MYSQL_PW' in os .environ :
44- mysql_pw = os .environ ['MYSQL_PW' ]
45- elif 'TRAVIS_MYSQL_PASS' in os .environ :
46- mysql_pw = os .environ ['TRAVIS_MYSQL_PASS' ]
47- else :
48- mysql_pw = ''
49-
5022create_table_query = 'CREATE TABLE IF NOT EXISTS users(id serial primary key, \
5123 name varchar(40) NOT NULL, email varchar(40) NOT NULL)'
5224
5729END
5830"""
5931
60- db = MySQLdb .connect (host = mysql_host , port = mysql_port ,
61- user = mysql_user , passwd = mysql_pw ,
62- db = mysql_db )
32+ db = MySQLdb .connect (host = testenv [ ' mysql_host' ] , port = testenv [ ' mysql_port' ] ,
33+ user = testenv [ ' mysql_user' ] , passwd = testenv [ ' mysql_pw' ] ,
34+ db = testenv [ ' mysql_db' ] )
6335
6436cursor = db .cursor ()
6537cursor .execute (create_table_query )
8355
8456class TestMySQLPython :
8557 def setUp (self ):
86- logger .warn ("MySQL connecting: %s:<pass>@%s:3306/%s" , mysql_user , mysql_host , mysql_db )
87- self .db = MySQLdb .connect (host = mysql_host , port = mysql_port ,
88- user = mysql_user , passwd = mysql_pw ,
89- db = mysql_db )
58+ logger .warn ("MySQL connecting: %s:<pass>@%s:3306/%s" , testenv [ ' mysql_user' ], testenv [ ' mysql_host' ], testenv [ ' mysql_db' ] )
59+ self .db = MySQLdb .connect (host = testenv [ ' mysql_host' ] , port = testenv [ ' mysql_port' ] ,
60+ user = testenv [ ' mysql_user' ] , passwd = testenv [ ' mysql_pw' ] ,
61+ db = testenv [ ' mysql_db' ] )
9062 self .cursor = self .db .cursor ()
9163 self .recorder = tracer .recorder
9264 self .recorder .clear_spans ()
@@ -126,10 +98,10 @@ def test_basic_query(self):
12698 assert_equals (None , db_span .ec )
12799
128100 assert_equals (db_span .n , "mysql" )
129- assert_equals (db_span .data .mysql .db , mysql_db )
130- assert_equals (db_span .data .mysql .user , mysql_user )
101+ assert_equals (db_span .data .mysql .db , testenv [ ' mysql_db' ] )
102+ assert_equals (db_span .data .mysql .user , testenv [ ' mysql_user' ] )
131103 assert_equals (db_span .data .mysql .stmt , 'SELECT * from users' )
132- assert_equals (db_span .data .mysql .host , "%s:3306" % mysql_host )
104+ assert_equals (db_span .data .mysql .host , "%s:3306" % testenv [ ' mysql_host' ] )
133105
134106 def test_basic_insert (self ):
135107 result = None
@@ -154,10 +126,10 @@ def test_basic_insert(self):
154126 assert_equals (None , db_span .ec )
155127
156128 assert_equals (db_span .n , "mysql" )
157- assert_equals (db_span .data .mysql .db , mysql_db )
158- assert_equals (db_span .data .mysql .user , mysql_user )
129+ assert_equals (db_span .data .mysql .db , testenv [ ' mysql_db' ] )
130+ assert_equals (db_span .data .mysql .user , testenv [ ' mysql_user' ] )
159131 assert_equals (db_span .data .mysql .stmt , 'INSERT INTO users(name, email) VALUES(%s, %s)' )
160- assert_equals (db_span .data .mysql .host , "%s:3306" % mysql_host )
132+ assert_equals (db_span .data .mysql .host , "%s:3306" % testenv [ ' mysql_host' ] )
161133
162134 def test_executemany (self ):
163135 result = None
@@ -182,10 +154,10 @@ def test_executemany(self):
182154 assert_equals (None , db_span .ec )
183155
184156 assert_equals (db_span .n , "mysql" )
185- assert_equals (db_span .data .mysql .db , mysql_db )
186- assert_equals (db_span .data .mysql .user , mysql_user )
157+ assert_equals (db_span .data .mysql .db , testenv [ ' mysql_db' ] )
158+ assert_equals (db_span .data .mysql .user , testenv [ ' mysql_user' ] )
187159 assert_equals (db_span .data .mysql .stmt , 'INSERT INTO users(name, email) VALUES(%s, %s)' )
188- assert_equals (db_span .data .mysql .host , "%s:3306" % mysql_host )
160+ assert_equals (db_span .data .mysql .host , "%s:3306" % testenv [ ' mysql_host' ] )
189161
190162 def test_call_proc (self ):
191163 result = None
@@ -208,10 +180,10 @@ def test_call_proc(self):
208180 assert_equals (None , db_span .ec )
209181
210182 assert_equals (db_span .n , "mysql" )
211- assert_equals (db_span .data .mysql .db , mysql_db )
212- assert_equals (db_span .data .mysql .user , mysql_user )
183+ assert_equals (db_span .data .mysql .db , testenv [ ' mysql_db' ] )
184+ assert_equals (db_span .data .mysql .user , testenv [ ' mysql_user' ] )
213185 assert_equals (db_span .data .mysql .stmt , 'test_proc' )
214- assert_equals (db_span .data .mysql .host , "%s:3306" % mysql_host )
186+ assert_equals (db_span .data .mysql .host , "%s:3306" % testenv [ ' mysql_host' ] )
215187
216188 def test_error_capture (self ):
217189 result = None
@@ -240,10 +212,10 @@ def test_error_capture(self):
240212
241213 assert_equals (True , db_span .error )
242214 assert_equals (1 , db_span .ec )
243- assert_equals (db_span .data .mysql .error , '(1146, "Table \' %s.blah\' doesn\' t exist")' % mysql_db )
215+ assert_equals (db_span .data .mysql .error , '(1146, "Table \' %s.blah\' doesn\' t exist")' % testenv [ ' mysql_db' ] )
244216
245217 assert_equals (db_span .n , "mysql" )
246- assert_equals (db_span .data .mysql .db , mysql_db )
247- assert_equals (db_span .data .mysql .user , mysql_user )
218+ assert_equals (db_span .data .mysql .db , testenv [ ' mysql_db' ] )
219+ assert_equals (db_span .data .mysql .user , testenv [ ' mysql_user' ] )
248220 assert_equals (db_span .data .mysql .stmt , 'SELECT * from blah' )
249- assert_equals (db_span .data .mysql .host , "%s:3306" % mysql_host )
221+ assert_equals (db_span .data .mysql .host , "%s:3306" % testenv [ ' mysql_host' ] )
0 commit comments