Skip to content

Commit

Permalink
test: UpdatePortOption
Browse files Browse the repository at this point in the history
  • Loading branch information
soulteary committed Dec 26, 2022
1 parent 1c605e9 commit b991f74
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 5 deletions.
2 changes: 1 addition & 1 deletion internal/cmd/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func ApplyFlags() {
define.REQUEST_TIMEOUT = UpdateNumberOption(ENV_KEY_REQUEST_TIMEOUT, args.REQUEST_TIMEOUT, define.DEFAULT_REQUEST_TIMEOUT, false)
define.SERVER_TIMEOUT = UpdateNumberOption(ENV_KEY_SERVER_TIMEOUT, args.SERVER_TIMEOUT, define.DEFAULT_SERVER_TIMEOUT, false)
define.RULES_DIRECTORY = UpdateStringOption(ENV_KEY_RULE, args.RULES_DIRECTORY, define.DEFAULT_RULES_DIRECTORY)
define.HTTP_PORT = updatePortOption(ENV_KEY_PORT, args.HTTP_PORT, define.DEFAULT_HTTP_PORT)
define.HTTP_PORT = UpdatePortOption(ENV_KEY_PORT, args.HTTP_PORT, define.DEFAULT_HTTP_PORT)
define.HTTP_FEED_PATH = UpdateFeedPathOption(ENV_KEY_HTTP_FEED_PATH, args.HTTP_FEED_PATH, define.DEFAULT_HTTP_FEED_PATH)
define.REDIS = UpdateBoolOption(ENV_KEY_REDIS, args.REDIS, define.DEFAULT_REDIS)
if define.REDIS {
Expand Down
9 changes: 5 additions & 4 deletions internal/cmd/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,13 +90,14 @@ func UpdateFeedPathOption(key string, args string, defaults string) string {
return feed
}

func updatePortOption(key string, args int, defaults int) int {
func UpdatePortOption(key string, args int, defaults int) int {
env := fn.StringToPositiveInteger(os.Getenv(key))
port := defaults
if fn.IsVaildPortRange(env) {
return env
port = env
}
if fn.IsVaildPortRange(args) && args != defaults {
return args
port = args
}
return defaults
return port
}
48 changes: 48 additions & 0 deletions internal/cmd/options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -273,3 +273,51 @@ func TestUpdateFeedPathOption(t *testing.T) {
}
os.Setenv("TEST_KEY", "")
}

func TestUpdatePortOption(t *testing.T) {
// env: empty, args: 0, default: 8080
ret := cmd.UpdatePortOption("TEST_KEY", 0, define.DEFAULT_HTTP_PORT)
if ret != define.DEFAULT_HTTP_PORT {
t.Fatal("UpdateFeedPathOption failed")
}
// env: empty, args: -1, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", -1, define.DEFAULT_HTTP_PORT)
if ret != define.DEFAULT_HTTP_PORT {
t.Fatal("UpdateFeedPathOption failed")
}
// env: empty, args: 8090, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", 8090, define.DEFAULT_HTTP_PORT)
if ret != 8090 {
t.Fatal("UpdateFeedPathOption failed")
}

os.Setenv("TEST_KEY", "9090")
// env: "9090", args: 0, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", 0, define.DEFAULT_HTTP_PORT)
if ret != 9090 {
t.Fatal("UpdateFeedPathOption failed")
}
// env: "9090", args: -1, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", -1, define.DEFAULT_HTTP_PORT)
if ret != 9090 {
t.Fatal("UpdateFeedPathOption failed")
}
// env: "9090", args: 8090, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", 8090, define.DEFAULT_HTTP_PORT)
if ret != 8090 {
t.Fatal("UpdateFeedPathOption failed")
}
os.Setenv("TEST_KEY", "0")
// env: "0", args: 0, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", 0, define.DEFAULT_HTTP_PORT)
if ret != define.DEFAULT_HTTP_PORT {
t.Fatal("UpdateFeedPathOption failed")
}
os.Setenv("TEST_KEY", "-1")
// env: "-1", args: 0, default: 8080
ret = cmd.UpdatePortOption("TEST_KEY", 0, define.DEFAULT_HTTP_PORT)
if ret != define.DEFAULT_HTTP_PORT {
t.Fatal("UpdateFeedPathOption failed")
}
os.Setenv("TEST_KEY", "")
}

0 comments on commit b991f74

Please sign in to comment.