From d0d0ce57c9036f7e2e4c5a506e131ce42b332550 Mon Sep 17 00:00:00 2001 From: Leon Zhang Date: Mon, 22 Mar 2021 18:09:56 +0800 Subject: [PATCH] fix ParseDSN test case --- common/config_test.go | 12 +++--- common/testdata/TestParseDSN.golden | 60 +++++++++++++++++++++++++---- 2 files changed, 59 insertions(+), 13 deletions(-) diff --git a/common/config_test.go b/common/config_test.go index ac86791..60b7719 100644 --- a/common/config_test.go +++ b/common/config_test.go @@ -90,18 +90,20 @@ func TestParseDSN(t *testing.T) { // go-sql-driver dsn "user@unix(/path/to/socket)/dbname", "root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local", - "user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true", + "user:password@tcp(localhost:5555)/dbname?tls=skip-verify", + "user:password@tcp(localhost:5555)/dbname?autocommit=true", "user:password@/dbname?sql_mode=TRADITIONAL", - "user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_unicode_ci", + "user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s", + "user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?collation=utf8mb4_unicode_ci", "id:password@tcp(your-amazonaws-uri.com:3306)/dbname", "user@cloudsql(project-id:instance-name)/dbname", "user@cloudsql(project-id:regionname:instance-name)/dbname", - "user:password@tcp/dbname?charset=utf8mb4,utf8&sys_var=esc%40ped", + //"user:password@tcp/dbname?charset=utf8mb4,utf8&sys_var=esc%40ped", multi key in map, pretty print in random order, by pass + "user:password@tcp/dbname?sys_var=esc%40ped", "user:password@/dbname", "user:password@/", - "user:password@tcp(localhost:3307)/database?charset=utf8&timeout=5s", + "user:password@tcp(localhost:3307)/database?timeout=5s", } - err := GoldenDiff(func() { for _, dsn := range dsns { pretty.Println(dsn) diff --git a/common/testdata/TestParseDSN.golden b/common/testdata/TestParseDSN.golden index a03cc82..39f4e89 100644 --- a/common/testdata/TestParseDSN.golden +++ b/common/testdata/TestParseDSN.golden @@ -438,7 +438,7 @@ root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local Disable: false, Version: 99999, } -user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true +user:password@tcp(localhost:5555)/dbname?tls=skip-verify &common.Dsn{ User: "user", Password: "password", @@ -451,6 +451,28 @@ user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true TLS: "skip-verify", ServerPubKey: "", MaxAllowedPacket: 4194304, + Params: {}, + Timeout: "0s", + ReadTimeout: "0s", + WriteTimeout: "0s", + AllowNativePasswords: true, + AllowOldPasswords: false, + Disable: false, + Version: 99999, +} +user:password@tcp(localhost:5555)/dbname?autocommit=true +&common.Dsn{ + User: "user", + Password: "password", + Net: "tcp", + Addr: "localhost:5555", + Schema: "dbname", + Charset: "utf8", + Collation: "utf8_general_ci", + Loc: "UTC", + TLS: "", + ServerPubKey: "", + MaxAllowedPacket: 4194304, Params: {"autocommit":"true"}, Timeout: "0s", ReadTimeout: "0s", @@ -482,7 +504,7 @@ user:password@/dbname?sql_mode=TRADITIONAL Disable: false, Version: 99999, } -user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_unicode_ci +user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s &common.Dsn{ User: "user", Password: "password", @@ -490,7 +512,7 @@ user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_ Addr: "[de:ad:be:ef::ca:fe]:80", Schema: "dbname", Charset: "utf8", - Collation: "utf8mb4_unicode_ci", + Collation: "utf8_general_ci", Loc: "UTC", TLS: "", ServerPubKey: "", @@ -504,6 +526,28 @@ user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_ Disable: false, Version: 99999, } +user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?collation=utf8mb4_unicode_ci +&common.Dsn{ + User: "user", + Password: "password", + Net: "tcp", + Addr: "[de:ad:be:ef::ca:fe]:80", + Schema: "dbname", + Charset: "utf8", + Collation: "utf8mb4_unicode_ci", + Loc: "UTC", + TLS: "", + ServerPubKey: "", + MaxAllowedPacket: 4194304, + Params: {}, + Timeout: "0s", + ReadTimeout: "0s", + WriteTimeout: "0s", + AllowNativePasswords: true, + AllowOldPasswords: false, + Disable: false, + Version: 99999, +} id:password@tcp(your-amazonaws-uri.com:3306)/dbname &common.Dsn{ User: "id", @@ -570,20 +614,20 @@ user@cloudsql(project-id:regionname:instance-name)/dbname Disable: false, Version: 99999, } -user:password@tcp/dbname?charset=utf8mb4,utf8&sys_var=esc%40ped +user:password@tcp/dbname?sys_var=esc%40ped &common.Dsn{ User: "user", Password: "password", Net: "tcp", Addr: "127.0.0.1:3306", Schema: "dbname", - Charset: "utf8mb4,utf8", + Charset: "utf8", Collation: "utf8_general_ci", Loc: "UTC", TLS: "", ServerPubKey: "", MaxAllowedPacket: 4194304, - Params: {"charset":"utf8mb4,utf8", "sys_var":"esc@ped"}, + Params: {"sys_var":"esc@ped"}, Timeout: "0s", ReadTimeout: "0s", WriteTimeout: "0s", @@ -636,7 +680,7 @@ user:password@/ Disable: false, Version: 99999, } -user:password@tcp(localhost:3307)/database?charset=utf8&timeout=5s +user:password@tcp(localhost:3307)/database?timeout=5s &common.Dsn{ User: "user", Password: "password", @@ -649,7 +693,7 @@ user:password@tcp(localhost:3307)/database?charset=utf8&timeout=5s TLS: "", ServerPubKey: "", MaxAllowedPacket: 4194304, - Params: {"charset":"utf8"}, + Params: {}, Timeout: "5s", ReadTimeout: "0s", WriteTimeout: "0s", -- GitLab