func (tc *testerContainer) DropDBs() (err error) {
	if tc.rootHandler == nil {
		err = fmt.Errorf("Error, cannot use nil handler, construct container correctly")
		return
	}
	for _, schema := range getSchemasFromConfig(testConfig()) {
		if schema != "" {
			if _, err = tc.rootHandler.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s;", schema)); err != nil {
				err = fmt.Errorf("Error dropping db for testing: %s", err)
				return
			}
		}
	}
	return
}
DropDBs drops the databases that would have been created by the test config if they exist
package cxdbsql
import (
	"database/sql"
	"fmt"
	"net"
	"github.com/mit-dci/lit/coinparam"
)
var (
	testStandardAuctionTime = uint64(100)
	testingUser = "testopencx"
	testingPass = "testpass"
	rootUser = "root"
	rootPass = ""
	testString = "testopencxdb_"
)
type testerContainer struct {
	rootHandler *sql.DB
}
func CreateTesterContainer() (tc *testerContainer, err error) {
	tc = new(testerContainer)
	var dbAddr net.Addr
	if dbAddr, err = net.ResolveTCPAddr("tcp", net.JoinHostPort(testConfig().DBHost, fmt.Sprintf("%d", testConfig().DBPort))); err != nil {
		err = fmt.Errorf("Error resolving conf derived address for killDatabaseFunc: %s", err)
		return
	}
	openString := fmt.Sprintf("%s:%s@%s(%s)/", rootUser, rootPass, dbAddr.Network(), dbAddr)
	if tc.rootHandler, err = sql.Open("mysql", openString); err != nil {
		err = fmt.Errorf("Error opening db to create testing user: %s", err)
		return
	}
	if err = tc.rootHandler.Ping(); err != nil {
		err = fmt.Errorf("Could not ping the database, is it running: %s", err)
		return
	}
	if _, err = tc.rootHandler.Exec(fmt.Sprintf("GRANT SELECT, INSERT, UPDATE, CREATE, DROP, DELETE ON *.* TO '%s'@'%s' IDENTIFIED BY '%s';", testConfig().DBUsername, testConfig().DBHost, testConfig().DBPassword)); err != nil {
		err = fmt.Errorf("Error creating user for testing: %s", err)
		return
	}
	return
}