Skip to main content

mysqld-integration-test is a python module that creates a temporary mysqld instance to use for testing your application.

Project description

mysqld-integration-test

Overview

mysqld-integration-test is a python module that creates a temporary mysqld instance to use for testing your application. It is based on the testing.mysqld module which has not been updated recently.

Download and Install

To install use pip:

$ pip install mysqld-integration-test

Or clone the repo:

$ git clone https://github.com/jasondcamp/mysqld-integration-test.git

Configuration

mysqld-integration-test config file

Default settings can be overridden in a config file. The default name is mysqld-integration-test.cfg in the local directory and can be overridden by passing in the config option to the instance creation.

Example config

database:
  host: '127.0.0.1'
  port: '9999'
  username: 'root'
  password: 'test'
  mysql_install_db_binary: '/usr/local/bin/mysql_install_db'
  mysqld_binary: '/usr/sbin/mysqld'

general:
  log_level: 'DEBUG'
  timeout_start: 30
  timeout_stop: 30

Usage

import

from mysqld_integration_test import Mysqld

run

Starts up the mysql server

mysqld = Mysqld()
instance = mysqld.run()

stop

Stops the mysql server

mysqld.stop()

Example Code

#!/usr/bin/env python3

from mysqld_integration_test import Mysqld
import mysql.connector

mysqld = Mysqld(config='/some/dir/mysqld-integration-test.cfg')
instance = mysqld.run()

# Make query to database
cnx = mysql.connector.connect(user=instance.username, password=instance.password,
                      host=instance.host, port=instance.port)
cursor = cnx.cursor()
cursor.execute(f"SHOW databases;")

for db in cursor:
   print(db[0])

cursor.close()
cnx.close()

mysqld.stop()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mysqld-integration-test-0.0.7.tar.gz (10.8 kB view hashes)

Uploaded Source

Built Distribution

mysqld_integration_test-0.0.7-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page