Skip to content

Commit

Permalink
fixup! Add MySQL scaler
Browse files Browse the repository at this point in the history
  • Loading branch information
turbaszek committed Jan 27, 2020
1 parent 8a7c736 commit 9882e18
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 24 deletions.
38 changes: 19 additions & 19 deletions pkg/scalers/mysql_scaler.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ type mySQLScaler struct {
}

type mySQLMetadata struct {
dsnConnStr string // Database connection string
username string
password string
host string
port string
query string
dbname string
connectionString string // Database connection string
username string
password string
host string
port string
query string
dbName string
}

var mySQLLog = logf.Log.WithName("mysql_scaler")
Expand All @@ -44,7 +44,7 @@ func NewMySQLScaler(resolvedEnv, metadata, authParams map[string]string) (Scaler

conn, err := newMySQLConnection(meta)
if err != nil {
return nil, fmt.Errorf("error establishing MySQL dsnConnStr: %s", err)
return nil, fmt.Errorf("error establishing MySQL connectionString: %s", err)
}
return &mySQLScaler{
metadata: meta,
Expand All @@ -61,15 +61,15 @@ func parseMySQLMetadata(resolvedEnv, metadata, authParams map[string]string) (*m
return nil, fmt.Errorf("no query given")
}

if val, ok := authParams["dsnConnStr"]; ok {
meta.dsnConnStr = val
} else if val, ok := metadata["dsnConnStr"]; ok {
if val, ok := authParams["connectionString"]; ok {
meta.connectionString = val
} else if val, ok := metadata["connectionString"]; ok {
hostSetting := val
if val, ok := resolvedEnv[hostSetting]; ok {
meta.dsnConnStr = val
meta.connectionString = val
}
} else {
meta.dsnConnStr = ""
meta.connectionString = ""
if val, ok := metadata["host"]; ok {
meta.host = val
} else {
Expand All @@ -86,10 +86,10 @@ func parseMySQLMetadata(resolvedEnv, metadata, authParams map[string]string) (*m
} else {
return nil, fmt.Errorf("no username given")
}
if val, ok := metadata["dbname"]; ok {
meta.dbname = val
if val, ok := metadata["dbName"]; ok {
meta.dbName = val
} else {
return nil, fmt.Errorf("no dbname given")
return nil, fmt.Errorf("no dbName given")
}
meta.password = defaultMySQLPassword
if val, ok := authParams["password"]; ok {
Expand All @@ -108,13 +108,13 @@ func parseMySQLMetadata(resolvedEnv, metadata, authParams map[string]string) (*m
func metadataToConnectionStr(meta *mySQLMetadata) string {
var connStr string

if meta.dsnConnStr != "" {
connStr = meta.dsnConnStr
if meta.connectionString != "" {
connStr = meta.connectionString
} else {
// Build connection str
config := mysql.NewConfig()
config.Addr = fmt.Sprintf("%s:%s", meta.host, meta.port)
config.DBName = meta.dbname
config.DBName = meta.dbName
config.Passwd = meta.password
config.User = meta.username
config.Net = "tcp"
Expand Down
10 changes: 5 additions & 5 deletions pkg/scalers/mysql_scaler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,10 @@ type parseMySQLMetadataTestData struct {
var testMySQLMetdata = []parseMySQLMetadataTestData{
// No metadata
{metdadata: map[string]string{}, raisesError:true},
// dsnConnStr
{metdadata: map[string]string{"query": "query", "dsnConnStr": "test_value"}, raisesError:false},
// connectionString
{metdadata: map[string]string{"query": "query", "connectionString": "test_value"}, raisesError:false},
// Params instead of conn str
{metdadata: map[string]string{"query": "query", "host": "test_host", "port": "test_port", "username": "test_username", "password": "test_password", "dbname": "test_dbname"}, raisesError:false},
{metdadata: map[string]string{"query": "query", "host": "test_host", "port": "test_port", "username": "test_username", "password": "test_password", "dbName": "test_dbname"}, raisesError:false},
}

func TestParseMySQLMetadata(t *testing.T) {
Expand All @@ -37,7 +37,7 @@ func TestParseMySQLMetadata(t *testing.T) {

func TestMetadataToConnectionStrUseConnStr(t *testing.T) {
// Use existing ConnStr
testMeta := map[string]string{"query": "query", "dsnConnStr": "MYSQL_CONN_STR"}
testMeta := map[string]string{"query": "query", "connectionString": "MYSQL_CONN_STR"}
meta, _ := parseMySQLMetadata(testMySQLResolvedEnv, testMeta, map[string]string{})
connStr := metadataToConnectionStr(meta)
if connStr != testMySQLResolvedEnv["MYSQL_CONN_STR"] {
Expand All @@ -48,7 +48,7 @@ func TestMetadataToConnectionStrUseConnStr(t *testing.T) {
func TestMetadataToConnectionStrBuildNew(t *testing.T) {
// Build new ConnStr
expected := "test_username:pass@tcp(test_host:test_port)/test_dbname"
testMeta := map[string]string{"query": "query", "host": "test_host", "port": "test_port", "username": "test_username", "password": "MYSQL_PASSWORD", "dbname": "test_dbname"}
testMeta := map[string]string{"query": "query", "host": "test_host", "port": "test_port", "username": "test_username", "password": "MYSQL_PASSWORD", "dbName": "test_dbname"}
meta, _ := parseMySQLMetadata(testMySQLResolvedEnv, testMeta, map[string]string{})
connStr := metadataToConnectionStr(meta)
if connStr != expected {
Expand Down

0 comments on commit 9882e18

Please sign in to comment.