@@ -19,16 +19,36 @@ def test_start_no_args(self):
1919 def test_start_engine_args (self ):
2020 with mock .patch .object (plugin , "start_plugin" ) as start_plugin :
2121 url = sqla_url .URL ("mysql+pymysql://scott:tiger@localhost/" )
22- p = plugin .Plugin (url , {"collectd_host" : "127.0.0.1" })
22+ p = plugin .Plugin (
23+ url , {"collectd_host" : "127.0.0.1" , "collectd_port" : 5678 }
24+ )
2325 engine = mock .Mock ()
2426 p .engine_created (engine )
2527
2628 self .assertEqual (
27- [mock .call (engine , collectd_host = "127.0.0.1" )],
29+ [mock .call (engine , collectd_host = "127.0.0.1" , collectd_port = 5678 )],
2830 start_plugin .mock_calls ,
2931 )
3032
3133 def test_start_url_args (self ):
34+ with mock .patch .object (plugin , "start_plugin" ) as start_plugin :
35+ url = sqla_url .make_url (
36+ "mysql+pymysql://scott:tiger@localhost/"
37+ "?collectd_host=127.0.0.1&somekey=somevalue&collectd_port=1234"
38+ )
39+ kwargs = {"unrelated" : "bar" }
40+ p = plugin .Plugin (url , kwargs )
41+ engine = mock .Mock ()
42+ p .engine_created (engine )
43+
44+ self .assertEqual (
45+ [mock .call (engine , collectd_host = "127.0.0.1" , collectd_port = 1234 )],
46+ start_plugin .mock_calls ,
47+ )
48+ self .assertEqual ({"somekey" : "somevalue" }, url .query )
49+ self .assertEqual ({"unrelated" : "bar" }, kwargs )
50+
51+ def test_start_url_args_no_port (self ):
3252 with mock .patch .object (plugin , "start_plugin" ) as start_plugin :
3353 url = sqla_url .make_url (
3454 "mysql+pymysql://scott:tiger@localhost/"
@@ -50,16 +70,16 @@ def test_start_both_args(self):
5070 with mock .patch .object (plugin , "start_plugin" ) as start_plugin :
5171 url = sqla_url .make_url (
5272 "mysql+pymysql://scott:tiger@localhost/"
53- "?collectd_host=127.0.0.1"
73+ "?collectd_host=127.0.0.1&collectd_port=1234 "
5474 )
55- kwargs = {"collectd_host" : "172.18.0.2" }
75+ kwargs = {"collectd_host" : "172.18.0.2" , "collectd_port" : 5678 }
5676 p = plugin .Plugin (url , kwargs )
5777 engine = mock .Mock ()
5878 p .engine_created (engine )
5979
6080 # argument is popped from both but favors url argument
6181 self .assertEqual (
62- [mock .call (engine , collectd_host = "127.0.0.1" )],
82+ [mock .call (engine , collectd_host = "127.0.0.1" , collectd_port = 1234 )],
6383 start_plugin .mock_calls ,
6484 )
6585 self .assertEqual ({}, url .query )
0 commit comments