Skip to content

Commit 0fad8e2

Browse files
authored
Merge pull request #299 from databacker/default-port
use default port when it is explicitly set, or it is not set in config file
2 parents 18d32f9 + a77f6c7 commit 0fad8e2

File tree

3 files changed

+28
-8
lines changed

3 files changed

+28
-8
lines changed

cmd/dump_test.go

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,47 +36,67 @@ func TestDumpCmd(t *testing.T) {
3636
Targets: []storage.Storage{file.New(*fileTargetURL)},
3737
MaxAllowedPacket: defaultMaxAllowedPacket,
3838
Compressor: &compression.GzipCompressor{},
39-
DBConn: database.Connection{Host: "abc"},
39+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
4040
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, nil},
4141
{"file URL with prune", []string{"--server", "abc", "--target", "file:///foo/bar", "--retention", "1h"}, "", false, core.DumpOptions{
4242
Targets: []storage.Storage{file.New(*fileTargetURL)},
4343
MaxAllowedPacket: defaultMaxAllowedPacket,
4444
Compressor: &compression.GzipCompressor{},
45-
DBConn: database.Connection{Host: "abc"},
45+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
4646
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, &core.PruneOptions{Targets: []storage.Storage{file.New(*fileTargetURL)}, Retention: "1h"}},
4747

48+
// database name and port
49+
{"database explicit name with default port", []string{"--server", "abc", "--target", "file:///foo/bar"}, "", false, core.DumpOptions{
50+
Targets: []storage.Storage{file.New(*fileTargetURL)},
51+
MaxAllowedPacket: defaultMaxAllowedPacket,
52+
Compressor: &compression.GzipCompressor{},
53+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
54+
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, nil},
55+
{"database explicit name with explicit port", []string{"--server", "abc", "--port", "3307", "--target", "file:///foo/bar"}, "", false, core.DumpOptions{
56+
Targets: []storage.Storage{file.New(*fileTargetURL)},
57+
MaxAllowedPacket: defaultMaxAllowedPacket,
58+
Compressor: &compression.GzipCompressor{},
59+
DBConn: database.Connection{Host: "abc", Port: 3307},
60+
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, nil},
61+
4862
// config file
4963
{"config file", []string{"--config-file", "testdata/config.yml"}, "", false, core.DumpOptions{
5064
Targets: []storage.Storage{file.New(*fileTargetURL)},
5165
MaxAllowedPacket: defaultMaxAllowedPacket,
5266
Compressor: &compression.GzipCompressor{},
5367
DBConn: database.Connection{Host: "abcd", Port: 3306, User: "user2", Pass: "xxxx2"},
5468
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, &core.PruneOptions{Targets: []storage.Storage{file.New(*fileTargetURL)}, Retention: "1h"}},
69+
{"config file with port override", []string{"--config-file", "testdata/config.yml", "--port", "3307"}, "", false, core.DumpOptions{
70+
Targets: []storage.Storage{file.New(*fileTargetURL)},
71+
MaxAllowedPacket: defaultMaxAllowedPacket,
72+
Compressor: &compression.GzipCompressor{},
73+
DBConn: database.Connection{Host: "abcd", Port: 3307, User: "user2", Pass: "xxxx2"},
74+
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin}, &core.PruneOptions{Targets: []storage.Storage{file.New(*fileTargetURL)}, Retention: "1h"}},
5575

5676
// timer options
5777
{"once flag", []string{"--server", "abc", "--target", "file:///foo/bar", "--once"}, "", false, core.DumpOptions{
5878
Targets: []storage.Storage{file.New(*fileTargetURL)},
5979
MaxAllowedPacket: defaultMaxAllowedPacket,
6080
Compressor: &compression.GzipCompressor{},
61-
DBConn: database.Connection{Host: "abc"},
81+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
6282
}, core.TimerOptions{Once: true, Frequency: defaultFrequency, Begin: defaultBegin}, nil},
6383
{"cron flag", []string{"--server", "abc", "--target", "file:///foo/bar", "--cron", "0 0 * * *"}, "", false, core.DumpOptions{
6484
Targets: []storage.Storage{file.New(*fileTargetURL)},
6585
MaxAllowedPacket: defaultMaxAllowedPacket,
6686
Compressor: &compression.GzipCompressor{},
67-
DBConn: database.Connection{Host: "abc"},
87+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
6888
}, core.TimerOptions{Frequency: defaultFrequency, Begin: defaultBegin, Cron: "0 0 * * *"}, nil},
6989
{"begin flag", []string{"--server", "abc", "--target", "file:///foo/bar", "--begin", "1234"}, "", false, core.DumpOptions{
7090
Targets: []storage.Storage{file.New(*fileTargetURL)},
7191
MaxAllowedPacket: defaultMaxAllowedPacket,
7292
Compressor: &compression.GzipCompressor{},
73-
DBConn: database.Connection{Host: "abc"},
93+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
7494
}, core.TimerOptions{Frequency: defaultFrequency, Begin: "1234"}, nil},
7595
{"frequency flag", []string{"--server", "abc", "--target", "file:///foo/bar", "--frequency", "10"}, "", false, core.DumpOptions{
7696
Targets: []storage.Storage{file.New(*fileTargetURL)},
7797
MaxAllowedPacket: defaultMaxAllowedPacket,
7898
Compressor: &compression.GzipCompressor{},
79-
DBConn: database.Connection{Host: "abc"},
99+
DBConn: database.Connection{Host: "abc", Port: defaultPort},
80100
}, core.TimerOptions{Frequency: 10, Begin: defaultBegin}, nil},
81101
{"incompatible flags: once/cron", []string{"--server", "abc", "--target", "file:///foo/bar", "--once", "--cron", "0 0 * * *"}, "", true, core.DumpOptions{}, core.TimerOptions{}, nil},
82102
{"incompatible flags: once/begin", []string{"--server", "abc", "--target", "file:///foo/bar", "--once", "--begin", "1234"}, "", true, core.DumpOptions{}, core.TimerOptions{}, nil},

cmd/restore_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func TestRestoreCmd(t *testing.T) {
3030
{"missing server and target options", []string{""}, "", true, nil, "", database.Connection{}, nil, &compression.GzipCompressor{}},
3131
{"invalid target URL", []string{"--server", "abc", "--target", "def"}, "", true, nil, "", database.Connection{Host: "abc"}, nil, &compression.GzipCompressor{}},
3232
{"valid URL missing dump filename", []string{"--server", "abc", "--target", "file:///foo/bar"}, "", true, nil, "", database.Connection{Host: "abc"}, nil, &compression.GzipCompressor{}},
33-
{"valid file URL", []string{"--server", "abc", "--target", fileTarget, "filename.tgz", "--verbose", "2"}, "", false, file.New(*fileTargetURL), "filename.tgz", database.Connection{Host: "abc"}, map[string]string{}, &compression.GzipCompressor{}},
33+
{"valid file URL", []string{"--server", "abc", "--target", fileTarget, "filename.tgz", "--verbose", "2"}, "", false, file.New(*fileTargetURL), "filename.tgz", database.Connection{Host: "abc", Port: defaultPort}, map[string]string{}, &compression.GzipCompressor{}},
3434
}
3535

3636
for _, tt := range tests {

cmd/root.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ func rootCmd(execs execs) (*cobra.Command, error) {
112112
cmdConfig.dbconn.Host = dbHost
113113
}
114114
dbPort := v.GetInt("port")
115-
if dbPort != 0 && v.IsSet("port") {
115+
if dbPort != 0 && (v.IsSet("port") || cmdConfig.dbconn.Port == 0) {
116116
cmdConfig.dbconn.Port = dbPort
117117
}
118118
dbUser := v.GetString("user")

0 commit comments

Comments
 (0)