18
18
19
19
TABLEAU_10_TWB = os .path .join (TEST_DIR , 'assets' , 'TABLEAU_10_TWB.twb' )
20
20
21
- TABLEAU_CONNECTION_XML = ET .parse (os .path .join (
22
- TEST_DIR , 'assets' , 'CONNECTION.xml' )).getroot ()
21
+ TABLEAU_CONNECTION_XML = os .path .join (TEST_DIR , 'assets' , 'CONNECTION.xml' )
23
22
24
23
TABLEAU_10_TWBX = os .path .join (TEST_DIR , 'assets' , 'TABLEAU_10_TWBX.twbx' )
25
24
@@ -51,7 +50,7 @@ def test_can_extract_federated_connections(self):
51
50
class ConnectionModelTests (unittest .TestCase ):
52
51
53
52
def setUp (self ):
54
- self .connection = TABLEAU_CONNECTION_XML
53
+ self .connection = ET . parse ( TABLEAU_CONNECTION_XML ). getroot ()
55
54
56
55
def test_can_read_attributes_from_connection (self ):
57
56
conn = Connection (self .connection )
@@ -60,15 +59,24 @@ def test_can_read_attributes_from_connection(self):
60
59
self .assertEqual (conn .server , 'mssql2012' )
61
60
self .assertEqual (conn .dbclass , 'sqlserver' )
62
61
self .assertEqual (conn .authentication , 'sspi' )
62
+ self .assertEqual (conn .port , '1433' )
63
63
64
64
def test_can_write_attributes_to_connection (self ):
65
65
conn = Connection (self .connection )
66
66
conn .dbname = 'BubblesInMyDrink'
67
67
conn .server = 'mssql2014'
68
68
conn .username = 'bob'
69
+ conn .port = '1337'
69
70
self .assertEqual (conn .dbname , 'BubblesInMyDrink' )
70
71
self .assertEqual (conn .username , 'bob' )
71
72
self .assertEqual (conn .server , 'mssql2014' )
73
+ self .assertEqual (conn .port , '1337' )
74
+
75
+ def test_can_delete_port_from_connection (self ):
76
+ conn = Connection (self .connection )
77
+ conn .port = None
78
+ self .assertEqual (conn .port , None )
79
+ self .assertIsNone (conn ._connectionXML .get ('port' ))
72
80
73
81
def test_bad_dbclass_rasies_attribute_error (self ):
74
82
conn = Connection (self .connection )
@@ -90,11 +98,13 @@ def test_can_create_datasource_from_connections(self):
90
98
conn1 = Connection .from_attributes (
91
99
server = 'a' , dbname = 'b' , username = 'c' , dbclass = 'mysql' , authentication = 'd' )
92
100
conn2 = Connection .from_attributes (
93
- server = '1' , dbname = '2' , username = '3' , dbclass = 'mysql' , authentication = '7' )
101
+ server = '1' , dbname = '2' , username = '3' , dbclass = 'mysql' , port = '1337' , authentication = '7' )
94
102
ds = Datasource .from_connections ('test' , connections = [conn1 , conn2 ])
95
103
96
104
self .assertEqual (ds .connections [0 ].server , 'a' )
105
+ self .assertEqual (ds .connections [0 ].port , None )
97
106
self .assertEqual (ds .connections [1 ].server , '1' )
107
+ self .assertEqual (ds .connections [1 ].port , '1337' )
98
108
99
109
100
110
class ConnectionParserInComplicatedWorkbooks (unittest .TestCase ):
0 commit comments