From 3874d41afc706f771936e04a9f34ac33a9e6cc5f Mon Sep 17 00:00:00 2001 From: bigeagle Date: Thu, 28 Apr 2016 21:09:21 +0800 Subject: [PATCH] refactor(manager): let manager export LoadConfig --- manager/config.go | 6 +++++- manager/config_test.go | 8 ++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/manager/config.go b/manager/config.go index 155ee95..ca1f00f 100644 --- a/manager/config.go +++ b/manager/config.go @@ -29,7 +29,7 @@ type FileConfig struct { CACert string `toml:"ca_cert"` } -func loadConfig(cfgFile string, c *cli.Context) (*Config, error) { +func LoadConfig(cfgFile string, c *cli.Context) (*Config, error) { cfg := new(Config) cfg.Server.Addr = "127.0.0.1" @@ -46,6 +46,10 @@ func loadConfig(cfgFile string, c *cli.Context) (*Config, error) { } } + if c == nil { + return cfg, nil + } + if c.String("addr") != "" { cfg.Server.Addr = c.String("addr") } diff --git a/manager/config_test.go b/manager/config_test.go index 4a81347..a7873c2 100644 --- a/manager/config_test.go +++ b/manager/config_test.go @@ -72,7 +72,7 @@ func TestConfig(t *testing.T) { Convey("when giving no config options", func() { app.Action = func(c *cli.Context) { cfgFile := c.String("config") - cfg, err := loadConfig(cfgFile, c) + cfg, err := LoadConfig(cfgFile, c) So(err, ShouldEqual, nil) So(cfg.Server.Addr, ShouldEqual, "127.0.0.1") } @@ -83,7 +83,7 @@ func TestConfig(t *testing.T) { app.Action = func(c *cli.Context) { cfgFile := c.String("config") So(cfgFile, ShouldEqual, tmpfile.Name()) - conf, err := loadConfig(cfgFile, c) + conf, err := LoadConfig(cfgFile, c) So(err, ShouldEqual, nil) So(conf.Server.Addr, ShouldEqual, "0.0.0.0") So(conf.Server.Port, ShouldEqual, 5000) @@ -99,7 +99,7 @@ func TestConfig(t *testing.T) { app.Action = func(c *cli.Context) { cfgFile := c.String("config") So(cfgFile, ShouldEqual, "") - conf, err := loadConfig(cfgFile, c) + conf, err := LoadConfig(cfgFile, c) So(err, ShouldEqual, nil) So(conf.Server.Addr, ShouldEqual, "0.0.0.0") So(conf.Server.Port, ShouldEqual, 5001) @@ -119,7 +119,7 @@ func TestConfig(t *testing.T) { app.Action = func(c *cli.Context) { cfgFile := c.String("config") So(cfgFile, ShouldEqual, tmpfile.Name()) - conf, err := loadConfig(cfgFile, c) + conf, err := LoadConfig(cfgFile, c) So(err, ShouldEqual, nil) So(conf.Server.Addr, ShouldEqual, "0.0.0.0") So(conf.Server.Port, ShouldEqual, 5000)