1818
1919TABLEAU_10_TWB = os .path .join (TEST_DIR , 'assets' , 'TABLEAU_10_TWB.twb' )
2020
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' )
2322
2423TABLEAU_10_TWBX = os .path .join (TEST_DIR , 'assets' , 'TABLEAU_10_TWBX.twbx' )
2524
@@ -51,7 +50,7 @@ def test_can_extract_federated_connections(self):
5150class ConnectionModelTests (unittest .TestCase ):
5251
5352 def setUp (self ):
54- self .connection = TABLEAU_CONNECTION_XML
53+ self .connection = ET . parse ( TABLEAU_CONNECTION_XML ). getroot ()
5554
5655 def test_can_read_attributes_from_connection (self ):
5756 conn = Connection (self .connection )
@@ -60,15 +59,24 @@ def test_can_read_attributes_from_connection(self):
6059 self .assertEqual (conn .server , 'mssql2012' )
6160 self .assertEqual (conn .dbclass , 'sqlserver' )
6261 self .assertEqual (conn .authentication , 'sspi' )
62+ self .assertEqual (conn .port , '1433' )
6363
6464 def test_can_write_attributes_to_connection (self ):
6565 conn = Connection (self .connection )
6666 conn .dbname = 'BubblesInMyDrink'
6767 conn .server = 'mssql2014'
6868 conn .username = 'bob'
69+ conn .port = '1337'
6970 self .assertEqual (conn .dbname , 'BubblesInMyDrink' )
7071 self .assertEqual (conn .username , 'bob' )
7172 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' ))
7280
7381 def test_bad_dbclass_rasies_attribute_error (self ):
7482 conn = Connection (self .connection )
@@ -90,11 +98,13 @@ def test_can_create_datasource_from_connections(self):
9098 conn1 = Connection .from_attributes (
9199 server = 'a' , dbname = 'b' , username = 'c' , dbclass = 'mysql' , authentication = 'd' )
92100 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' )
94102 ds = Datasource .from_connections ('test' , connections = [conn1 , conn2 ])
95103
96104 self .assertEqual (ds .connections [0 ].server , 'a' )
105+ self .assertEqual (ds .connections [0 ].port , None )
97106 self .assertEqual (ds .connections [1 ].server , '1' )
107+ self .assertEqual (ds .connections [1 ].port , '1337' )
98108
99109
100110class ConnectionParserInComplicatedWorkbooks (unittest .TestCase ):
0 commit comments