Use time / duration for config

This commit is contained in:
Alex 2017-01-24 20:06:22 +00:00
parent ed47c36d59
commit 5db6013861
2 changed files with 20 additions and 14 deletions

View File

@ -1,6 +1,9 @@
package main
import "testing"
import (
"testing"
"time"
)
type EnvBucket struct {
Items map[string]string
@ -62,11 +65,11 @@ func TestRead_EmptyTimeoutConfig(t *testing.T) {
config := readConfig.Read(defaults)
if (config.readTimeout) != 5 {
if (config.readTimeout) != time.Duration(5)*time.Second {
t.Log("readTimeout incorrect")
t.Fail()
}
if (config.writeTimeout) != 5 {
if (config.writeTimeout) != time.Duration(5)*time.Second {
t.Log("writeTimeout incorrect")
t.Fail()
}
@ -80,11 +83,11 @@ func TestRead_ReadAndWriteTimeoutConfig(t *testing.T) {
readConfig := ReadConfig{}
config := readConfig.Read(defaults)
if (config.readTimeout) != 10 {
if (config.readTimeout) != time.Duration(10)*time.Second {
t.Logf("readTimeout incorrect, got: %d\n", config.readTimeout)
t.Fail()
}
if (config.writeTimeout) != 60 {
if (config.writeTimeout) != time.Duration(60)*time.Second {
t.Logf("writeTimeout incorrect, got: %d\n", config.writeTimeout)
t.Fail()
}

View File

@ -1,6 +1,9 @@
package main
import "strconv"
import (
"strconv"
"time"
)
// HasEnv provides interface for os.Getenv
type HasEnv interface {
@ -42,16 +45,16 @@ func (ReadConfig) Read(hasEnv HasEnv) WatchdogConfig {
writeTimeout := parseIntValue(hasEnv.Getenv("write_timeout"))
if readTimeout == 0 {
cfg.readTimeout = 5
} else {
cfg.readTimeout = readTimeout
readTimeout = 5
}
if writeTimeout == 0 {
cfg.writeTimeout = 5
} else {
cfg.writeTimeout = writeTimeout
writeTimeout = 5
}
cfg.readTimeout = time.Duration(readTimeout) * time.Second
cfg.writeTimeout = time.Duration(writeTimeout) * time.Second
cfg.writeDebug = parseBoolValue(hasEnv.Getenv("write_debug"))
return cfg
@ -59,8 +62,8 @@ func (ReadConfig) Read(hasEnv HasEnv) WatchdogConfig {
// WatchdogConfig for the process.
type WatchdogConfig struct {
readTimeout int
writeTimeout int
readTimeout time.Duration
writeTimeout time.Duration
// faasProcess is the process to exec
faasProcess string