1+ from unittest import mock
2+
3+ from dagster_teradata import TeradataResource
4+
5+
6+ @mock .patch ("teradatasql.connect" )
7+ def test_get_conn (mock_connect ):
8+ resource = TeradataResource (
9+ host = "host" , user = "login" , password = "password" , database = "schema" , port = "1025"
10+ )
11+
12+ with resource .get_connection ():
13+ pass
14+
15+ assert mock_connect .call_count == 1
16+ args , kwargs = mock_connect .call_args
17+ assert args == ()
18+ assert kwargs ["host" ] == "host"
19+ assert kwargs ["database" ] == "schema"
20+ assert kwargs ["port" ] == "1025"
21+ assert kwargs ["user" ] == "login"
22+ assert kwargs ["password" ] == "password"
23+
24+
25+ @mock .patch ("teradatasql.connect" )
26+ def test_get_tmode_conn (mock_connect ):
27+ resource = TeradataResource (
28+ host = "host" ,
29+ user = "login" ,
30+ password = "password" ,
31+ database = "schema" ,
32+ port = "1025" ,
33+ tmode = "tera" ,
34+ )
35+
36+ with resource .get_connection ():
37+ pass
38+
39+ assert mock_connect .call_count == 1
40+ args , kwargs = mock_connect .call_args
41+ assert kwargs ["tmode" ] == "tera"
42+
43+
44+ @mock .patch ("teradatasql.connect" )
45+ def test_get_sslmode_conn (mock_connect ):
46+ resource = TeradataResource (
47+ host = "host" ,
48+ user = "login" ,
49+ password = "password" ,
50+ database = "schema" ,
51+ port = "1025" ,
52+ sslmode = "require" ,
53+ )
54+
55+ with resource .get_connection ():
56+ pass
57+
58+ assert mock_connect .call_count == 1
59+ args , kwargs = mock_connect .call_args
60+ assert kwargs ["sslmode" ] == "require"
61+
62+
63+ @mock .patch ("teradatasql.connect" )
64+ def test_get_sslverifyca_conn (mock_connect ):
65+ resource = TeradataResource (
66+ host = "host" ,
67+ user = "login" ,
68+ password = "password" ,
69+ database = "schema" ,
70+ port = "1025" ,
71+ sslmode = "verify-ca" ,
72+ sslca = "/tmp/cert" ,
73+ )
74+
75+ with resource .get_connection ():
76+ pass
77+
78+ assert mock_connect .call_count == 1
79+ args , kwargs = mock_connect .call_args
80+ assert kwargs ["sslmode" ] == "verify-ca"
81+ assert kwargs ["sslca" ] == "/tmp/cert"
82+
83+
84+ @mock .patch ("teradatasql.connect" )
85+ def test_get_sslverifyfull_conn (mock_connect ):
86+ resource = TeradataResource (
87+ host = "host" ,
88+ user = "login" ,
89+ password = "password" ,
90+ database = "schema" ,
91+ port = "1025" ,
92+ sslmode = "verify-full" ,
93+ sslca = "/tmp/cert" ,
94+ )
95+
96+ with resource .get_connection ():
97+ pass
98+
99+ assert mock_connect .call_count == 1
100+ args , kwargs = mock_connect .call_args
101+ assert kwargs ["sslmode" ] == "verify-full"
102+ assert kwargs ["sslca" ] == "/tmp/cert"
103+
104+
105+ @mock .patch ("teradatasql.connect" )
106+ def test_get_sslcrc_conn (mock_connect ):
107+ resource = TeradataResource (
108+ host = "host" ,
109+ user = "login" ,
110+ password = "password" ,
111+ database = "schema" ,
112+ port = "1025" ,
113+ sslcrc = "sslcrc" ,
114+ )
115+
116+ with resource .get_connection ():
117+ pass
118+
119+ assert mock_connect .call_count == 1
120+ args , kwargs = mock_connect .call_args
121+ assert kwargs ["sslcrc" ] == "sslcrc"
122+
123+
124+ @mock .patch ("teradatasql.connect" )
125+ def test_get_sslprotocol_conn (mock_connect ):
126+ resource = TeradataResource (
127+ host = "host" ,
128+ user = "login" ,
129+ password = "password" ,
130+ database = "schema" ,
131+ port = "1025" ,
132+ sslprotocol = "protocol" ,
133+ )
134+
135+ with resource .get_connection ():
136+ pass
137+
138+ assert mock_connect .call_count == 1
139+ args , kwargs = mock_connect .call_args
140+ assert kwargs ["sslprotocol" ] == "protocol"
141+
142+
143+ @mock .patch ("teradatasql.connect" )
144+ def test_get_sslcipher_conn (mock_connect ):
145+ resource = TeradataResource (
146+ host = "host" ,
147+ user = "login" ,
148+ password = "password" ,
149+ database = "schema" ,
150+ port = "1025" ,
151+ sslcipher = "cipher" ,
152+ )
153+
154+ with resource .get_connection ():
155+ pass
156+
157+ assert mock_connect .call_count == 1
158+ args , kwargs = mock_connect .call_args
159+ assert kwargs ["sslcipher" ] == "cipher"
160+
161+
162+ @mock .patch ("teradatasql.connect" )
163+ def test_get_proxy_conn (mock_connect ):
164+ resource = TeradataResource (
165+ host = "host" ,
166+ user = "login" ,
167+ password = "password" ,
168+ database = "schema" ,
169+ port = "1025" ,
170+ http_proxy = "http://proxy" ,
171+ http_proxy_user = "proxyuser" ,
172+ http_proxy_password = "proxypass" ,
173+ https_proxy = "https://secureproxy" ,
174+ https_proxy_user = "secureuser" ,
175+ https_proxy_password = "securepass" ,
176+ proxy_bypass_hosts = "bypass.host.com" ,
177+ )
178+
179+ with resource .get_connection ():
180+ pass
181+
182+ assert mock_connect .call_count == 1
183+ args , kwargs = mock_connect .call_args
184+ assert kwargs ["http_proxy" ] == "http://proxy"
185+ assert kwargs ["http_proxy_user" ] == "proxyuser"
186+ assert kwargs ["http_proxy_password" ] == "proxypass"
187+ assert kwargs ["https_proxy" ] == "https://secureproxy"
188+ assert kwargs ["https_proxy_user" ] == "secureuser"
189+ assert kwargs ["https_proxy_password" ] == "securepass"
190+ assert kwargs ["proxy_bypass_hosts" ] == "bypass.host.com"
0 commit comments