Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

github.com/lestrrat-go/test-mysqld

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/lestrrat-go/test-mysqld

  • v0.0.0-20190527004737-6c91be710371
  • Source
  • Go
  • Socket score

Version published
Created
Source

test-mysqld

Create real MySQL server instance for testing

Build Status

GoDoc

DESCRIPTION

By default importing github.com/lestrrat-go/test-mysqld will import package mysqltest

import (
    "database/sql"
    "log"
    "github.com/lestrrat-go/test-mysqld"
)

mysqld, err := mysqltest.NewMysqld(nil)
if err != nil {
   log.Fatalf("Failed to start mysqld: %s", err)
}
defer mysqld.Stop()

db, err := sql.Open("mysql", mysqld.Datasource("test", "", "", 0))
// Now use db, which is connected to a mysql db

go-test-mysqld is a port of Test::mysqld

When you create a new struct via NewMysqld() a new mysqld instance is automatically setup and launched. Don't forget to call Stop() on this struct to stop the launched mysqld

If you want to customize the configuration, create a new config and set each field on the struct:


config := mysqltest.NewConfig()
config.SkipNetworking = false
config.Port = 13306

// Starts mysqld listening on port 13306
mysqld, _ := mysqltest.NewMysqld(config)

Generating DSN

DSN strings can be generated using the DSN method:

// Use default
dsn := mysqld.DSN()

// Pass explicit parameters
dsn := mysqld.DSN(mysqltest.WithUser("foo"), mysqltest.WithPassword("passw0rd!"))

// Tell the mysql driver to parse time values
dsn := mysqld.DSN(mysqltest.WithParseTime(true))

// ...And pass the dsn to sql.Open
db, err := sql.Open("mysql", dsn)

Following is a list of possible parameters to DSN. I

OptionDescriptionDefault
mysqltest.WithProto(string)Specifies the protocol ("unix" or "tcp")Depends on value of config.SkipNetworking
mysqltest.WithSocket(string)Specifies the path to the unix socketvalue of config.Socket
mysqltest.WithHost(string)Specifies the hostnamevalue of config.BindAddress
mysqltest.WithPort(int)Specifies the port numbervalue of config.Port
mysqltest.WithUser(string)Specifies the username"root"
mysqltest.WithPassword(string)Specifies the password""
mysqltest.WithDbname(string)Specifies the database name to connect"test"
mysqltest.WithParseTime(bool)Specifies if mysql driver should parse time values to time.Timefalse
mysqltest.WithMultiStatements(bool)Specifies if mysql driver should allow multi statement in a SQL filefalse

FAQs

Package last updated on 27 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc