def test_open_connection(self): """Open a connection using TCP""" try: self.cnx.open_connection() except Exception as err: self.fail(str(err)) config = self.getMySQLConfig() self._host = config['host'] self._port = config['port'] cases = [ # Address, Expected Family, Should Raise, Force IPv6 ] if not tests.IPV6_AVAILABLE: tests.MESSAGES['WARNINGS'].append( "MySQLTCPSocketTests.test_open_connection: " "Could not test IPv6. Use options " "--bind-address=:: --host=::1 and" " make sure the OS and Python supports IPv6.") cases.extend([ (tests.MYSQL_CONFIG['host'], socket.AF_INET, False, False), ]) else: # Testing IPv6 cases.extend([ (tests.MYSQL_CONFIG['host'], socket.AF_INET6, False, False), ('2001::14:06:77', socket.AF_INET6, True, False), ('xx:00:xx', socket.AF_INET6, True, False), ]) for addr, family, should_raise, force in cases: try: sock = network.MySQLTCPSocket(host=addr, port=self._port, force_ipv6=force) sock.set_connection_timeout(1) sock.open_connection() except (errors.InterfaceError, socket.error) as err: if not should_raise: self.fail( '{0} incorrectly raised socket.error'.format(addr)) else: if should_raise: self.fail( '{0} should have raised socket.error'.format(addr)) else: self.assertEqual( family, sock._family, "Family for {0} did not match".format( addr, family, sock._family)) sock.close_connection()
def _test_open_connection(self, addr, family, should_raise, force): try: sock = network.MySQLTCPSocket(host=addr, port=self._port, force_ipv6=force) sock.set_connection_timeout(1) sock.open_connection() except (errors.InterfaceError, socket.error): if not should_raise: self.fail('{0} incorrectly raised socket.error'.format(addr)) else: if should_raise: self.fail('{0} should have raised socket.error'.format(addr)) else: self.assertEqual( family, sock._family, "Family for {0} did not match".format( addr, family, sock._family)) sock.close_connection()
def setUp(self): config = self.getMySQLConfig() self._host = config['host'] self._port = config['port'] self.cnx = network.MySQLTCPSocket(host=self._host, port=self._port)
def setUp(self): config = tests.get_mysql_config() self._host = config['host'] self._port = config['port'] self.cnx = network.MySQLTCPSocket(host=self._host, port=self._port)
class MySQLTCPSocketTests(tests.MySQLConnectorTests): """Testing mysql.connector.network..MySQLTCPSocket""" def setUp(self): config = self.getMySQLConfig() self._host = config['host'] self._port = config['port'] self.cnx = network.MySQLTCPSocket(host=self._host, port=self._port) def tearDown(self): try: self.cnx.close_connection() except: pass def test_init(self): """MySQLTCPSocket initialization""" exp = { 'server_host': self._host, 'server_port': self._port, 'force_ipv6': False, '_family': 0, } for key, value in exp.items(): self.assertEqual(value, self.cnx.__dict__[key]) def test_get_address(self): """Get TCP/IP address""" exp = "%s:%s" % (self._host, self._port) self.assertEqual(exp, self.cnx.get_address()) def test_open_connection(self): """Open a connection using TCP""" try: self.cnx.open_connection() except Exception, err: self.fail(str(err)) config = self.getMySQLConfig() self._host = config['host'] self._port = config['port'] cases = [ # Address, Expected Family, Should Raise, Force IPv6 ] if not tests.IPV6_AVAILABLE: tests.MESSAGES['WARNINGS'].append( "MySQLTCPSocketTests.test_open_connection: " "Could not test IPv6. Use options " "--bind-address=:: --host=::1 and" " make sure the OS and Python supports IPv6.") cases.extend([ (tests.MYSQL_CONFIG['host'], socket.AF_INET, False, False), ]) else: # Testing IPv6 cases.extend([ ('::1', socket.AF_INET6, False, False), ('2001::14:06:77', socket.AF_INET6, True, False), ('xx:00:xx', socket.AF_INET6, True, False), ]) for addr, family, should_raise, force in cases: try: sock = network.MySQLTCPSocket(host=addr, port=self._port, force_ipv6=force) sock.set_connection_timeout(1) sock.open_connection() except (errors.InterfaceError, socket.error) as err: if not should_raise: self.fail( '{0} incorrectly raised socket.error'.format(addr)) else: if should_raise: self.fail( '{0} should have raised socket.error'.format(addr)) else: self.assertEqual( family, sock._family, "Family for {0} did not match".format( addr, family, sock._family)) sock.close_connection()