Remove code duplication and move utility methods to the store utils (#20091)

* Remove code duplication and move utility methods to the store utils

* Fix typo
Этот коммит содержится в:
Miguel de la Cruz
2022-04-29 12:15:38 +02:00
коммит произвёл GitHub
родитель 79a0d3dac4
Коммит c076f9fdf9
6 изменённых файлов: 60 добавлений и 98 удалений

Просмотреть файл

@@ -133,3 +133,30 @@ func TestMySQLJSONArgs(t *testing.T) {
assert.Equal(t, test.argString, argString)
}
}
func TestAppendMultipleStatementsFlag(t *testing.T) {
testCases := []struct {
Scenario string
DSN string
ExpectedDSN string
}{
{
"Should append multiStatements param to the DSN path with existing params",
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?writeTimeout=30s",
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?writeTimeout=30s&multiStatements=true",
},
{
"Should append multiStatements param to the DSN path with no existing params",
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost",
"user:rand?&ompasswith@character@unix(/var/run/mysqld/mysqld.sock)/mattermost?multiStatements=true",
},
}
for _, tc := range testCases {
t.Run(tc.Scenario, func(t *testing.T) {
res, err := AppendMultipleStatementsFlag(tc.DSN)
require.NoError(t, err)
assert.Equal(t, tc.ExpectedDSN, res)
})
}
}