Esempio n. 1
0
    def test_basic(self):
        try:
            # start mysql server
            mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
            self.assertIsNotNone(mysqld)
            self.assertEqual(mysqld.dsn(),
                             dict(unix_socket=mysqld.base_dir + '/tmp/mysql.sock',
                                  user='******',
                                  db='test'))

            # connect to mysql (w/ pymysql)
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertRegexpMatches(mysqld.read_bootlog(), 'ready for connections')

            # connect to mysql (w/ sqlalchemy)
            engine = sqlalchemy.create_engine(mysqld.url())
            self.assertIsNotNone(engine)

            # shutting down
            pid = mysqld.server_pid
            self.assertTrue(os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertTrue(mysqld.is_alive())
        finally:
            mysqld.stop()
            sleep(1)

            self.assertFalse(os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertFalse(mysqld.is_alive())
            with self.assertRaises(OSError):
                os.kill(pid, 0)  # process is down
Esempio n. 2
0
    def test_basic(self):
        try:
            # start mysql server
            mysqld = testing.mysqld.Mysqld(my_cnf={'skip-networking': None})
            self.assertIsNotNone(mysqld)
            self.assertEqual(
                mysqld.dsn(),
                dict(unix_socket=mysqld.base_dir + '/tmp/mysql.sock',
                     user='******',
                     db='test'))

            # connect to mysql (w/ pymysql)
            conn = pymysql.connect(**mysqld.dsn())
            self.assertIsNotNone(conn)
            self.assertRegexpMatches(mysqld.read_bootlog(),
                                     'ready for connections')

            # connect to mysql (w/ sqlalchemy)
            engine = sqlalchemy.create_engine(mysqld.url())
            self.assertIsNotNone(engine)

            # shutting down
            pid = mysqld.server_pid
            self.assertTrue(os.path.exists(mysqld.base_dir +
                                           '/tmp/mysql.sock'))
            self.assertTrue(mysqld.is_alive())
        finally:
            mysqld.stop()
            sleep(1)

            self.assertFalse(
                os.path.exists(mysqld.base_dir + '/tmp/mysql.sock'))
            self.assertFalse(mysqld.is_alive())
            with self.assertRaises(OSError):
                os.kill(pid, 0)  # process is down
Esempio n. 3
0
    def test_dsn_and_url(self):
        mysqld = testing.mysqld.Mysqld(auto_start=0)
        self.assertEqual(
            {
                'db': 'test',
                'unix_socket': mysqld.my_cnf['socket'],
                'user': '******'
            }, mysqld.dsn())
        self.assertEqual(
            "mysql+pymysql://root@localhost/test?unix_socket=%s" %
            mysqld.my_cnf['socket'], mysqld.url())
        self.assertEqual(
            "mysql+pymysql://root@localhost/test?unix_socket=%s&charset=utf8" %
            mysqld.my_cnf['socket'], mysqld.url(charset='utf8'))
        self.assertEqual(
            "mysql+mysqldb://root@localhost/test?unix_socket=%s" %
            mysqld.my_cnf['socket'], mysqld.url(driver='mysqldb'))

        mysqld = testing.mysqld.Mysqld(my_cnf={'port': 12345}, auto_start=0)
        self.assertEqual(
            {
                'db': 'test',
                'host': '127.0.0.1',
                'port': 12345,
                'user': '******'
            }, mysqld.dsn())
        self.assertEqual("mysql+pymysql://[email protected]:12345/test",
                         mysqld.url())
        self.assertEqual(
            "mysql+pymysql://[email protected]:12345/test?charset=utf8",
            mysqld.url(charset='utf8'))
        self.assertEqual("mysql+mysqldb://[email protected]:12345/test",
                         mysqld.url(driver='mysqldb'))
Esempio n. 4
0
    def test_dsn_and_url(self):
        mysqld = testing.mysqld.Mysqld(auto_start=0)
        self.assertEqual({'db': 'test', 'unix_socket': mysqld.my_cnf['socket'], 'user': '******'},
                         mysqld.dsn())
        self.assertEqual("mysql+pymysql://root@localhost/test?unix_socket=%s" % mysqld.my_cnf['socket'],
                         mysqld.url())
        self.assertEqual("mysql+pymysql://root@localhost/test?unix_socket=%s&charset=utf8" % mysqld.my_cnf['socket'],
                         mysqld.url(charset='utf8'))
        self.assertEqual("mysql+mysqldb://root@localhost/test?unix_socket=%s" % mysqld.my_cnf['socket'],
                         mysqld.url(driver='mysqldb'))

        mysqld = testing.mysqld.Mysqld(my_cnf={'port': 12345}, auto_start=0)
        self.assertEqual({'db': 'test', 'host': '127.0.0.1', 'port': 12345, 'user': '******'},
                         mysqld.dsn())
        self.assertEqual("mysql+pymysql://[email protected]:12345/test", mysqld.url())
        self.assertEqual("mysql+pymysql://[email protected]:12345/test?charset=utf8", mysqld.url(charset='utf8'))
        self.assertEqual("mysql+mysqldb://[email protected]:12345/test", mysqld.url(driver='mysqldb'))