diff --git a/config/mailercfg.go b/config/mailercfg.go index c682cf467..000251e1b 100644 --- a/config/mailercfg.go +++ b/config/mailercfg.go @@ -45,16 +45,15 @@ func (mailcfg *MailerCfg) loadFromJsonCfg(jsnMailerCfg *MailerJsonCfg) (err erro if jsnMailerCfg.From_address != nil { mailcfg.MailerFromAddr = *jsnMailerCfg.From_address } - return nil } -func (mailcfg *MailerCfg) AsMapInterface() map[string]interface{} { - return map[string]interface{}{ +func (mailcfg *MailerCfg) AsMapInterface() (initialMP map[string]interface{}) { + initialMP = map[string]interface{}{ utils.MailerServerCfg: mailcfg.MailerServer, utils.MailerAuthUserCfg: mailcfg.MailerAuthUser, utils.MailerAuthPassCfg: mailcfg.MailerAuthPass, utils.MailerFromAddrCfg: mailcfg.MailerFromAddr, } - + return } diff --git a/config/mailercfg_test.go b/config/mailercfg_test.go index bfeab40d9..dfb848370 100644 --- a/config/mailercfg_test.go +++ b/config/mailercfg_test.go @@ -62,7 +62,6 @@ func TestMailerCfgloadFromJsonCfg(t *testing.T) { } func TestMailerCfgAsMapInterface(t *testing.T) { - var mailcfg MailerCfg cfgJSONStr := `{ "mailer": { "server": "", @@ -72,42 +71,31 @@ func TestMailerCfgAsMapInterface(t *testing.T) { }, }` eMap := map[string]interface{}{ - "server": "", - "auth_user": "", - "auth_password": "", - "from_address": "", + utils.MailerServerCfg: "", + utils.MailerAuthUserCfg: "", + utils.MailerAuthPassCfg: "", + utils.MailerFromAddrCfg: "", } - if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { + if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) - } else if jsnMailCfg, err := jsnCfg.MailerJsonCfg(); err != nil { - t.Error(err) - } else if err = mailcfg.loadFromJsonCfg(jsnMailCfg); err != nil { - t.Error(err) - } else if rcv := mailcfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) { - t.Errorf("\nExpected: %+v\nRecived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) - } - - cfgJSONStr = `{ - "mailer": { - "server": "localhost", - "auth_user": "cgrates", - "auth_password": "CGRateS.org", - "from_address": "cgr-mailer@localhost.localdomain", - }, - }` - eMap = map[string]interface{}{ - "server": "localhost", - "auth_user": "cgrates", - "auth_password": "CGRateS.org", - "from_address": "cgr-mailer@localhost.localdomain", - } - if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { - t.Error(err) - } else if jsnMailCfg, err := jsnCfg.MailerJsonCfg(); err != nil { - t.Error(err) - } else if err = mailcfg.loadFromJsonCfg(jsnMailCfg); err != nil { - t.Error(err) - } else if rcv := mailcfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) { - t.Errorf("\nExpected: %+v\nRecived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) + } else if rcv := cgrCfg.mailerCfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) { + t.Errorf("Expected %+v, received %+v", eMap, rcv) + } +} + +func TestMailerCfgAsMapInterface1(t *testing.T) { + cfgJSONStr := `{ + "mailer": {}, +}` + eMap := map[string]interface{}{ + utils.MailerServerCfg: "localhost", + utils.MailerAuthUserCfg: "cgrates", + utils.MailerAuthPassCfg: "CGRateS.org", + utils.MailerFromAddrCfg: "cgr-mailer@localhost.localdomain", + } + if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { + t.Error(err) + } else if rcv := cgrCfg.mailerCfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) { + t.Errorf("Expected %+v, received %+v", eMap, rcv) } }