From 3c72966aa0ee3655d09124e450194dd721e5b6b1 Mon Sep 17 00:00:00 2001 From: porosnicuadrian Date: Mon, 21 Sep 2020 17:40:34 +0300 Subject: [PATCH] Updated httpcfg AsMapINterface method --- config/httpcfg.go | 19 ++++++------ config/httpcfg_test.go | 65 +++++++++++++++++++++++++----------------- 2 files changed, 50 insertions(+), 34 deletions(-) diff --git a/config/httpcfg.go b/config/httpcfg.go index c2faaddeb..1ec229dc4 100644 --- a/config/httpcfg.go +++ b/config/httpcfg.go @@ -60,19 +60,22 @@ func (httpcfg *HTTPCfg) loadFromJsonCfg(jsnHttpCfg *HTTPJsonCfg) (err error) { return nil } -func (httpcfg *HTTPCfg) AsMapInterface() map[string]interface{} { - httpUsers := make(map[string]interface{}, len(httpcfg.HTTPAuthUsers)) - for key, item := range httpcfg.HTTPAuthUsers { - httpUsers[key] = item - } - - return map[string]interface{}{ +func (httpcfg *HTTPCfg) AsMapInterface() (initialMP map[string]interface{}) { + initialMP = map[string]interface{}{ utils.HTTPJsonRPCURLCfg: httpcfg.HTTPJsonRPCURL, utils.DispatchersRegistrarURLCfg: httpcfg.DispatchersRegistrarURL, utils.HTTPWSURLCfg: httpcfg.HTTPWSURL, utils.HTTPFreeswitchCDRsURLCfg: httpcfg.HTTPFreeswitchCDRsURL, utils.HTTPCDRsURLCfg: httpcfg.HTTPCDRsURL, utils.HTTPUseBasicAuthCfg: httpcfg.HTTPUseBasicAuth, - utils.HTTPAuthUsersCfg: httpUsers, } + + if httpcfg.HTTPAuthUsers != nil { + httpUsers := make(map[string]interface{}, len(httpcfg.HTTPAuthUsers)) + for key, item := range httpcfg.HTTPAuthUsers { + httpUsers[key] = item + } + initialMP[utils.HTTPAuthUsersCfg] = httpUsers + } + return } diff --git a/config/httpcfg_test.go b/config/httpcfg_test.go index e1e6757d0..b16769af2 100644 --- a/config/httpcfg_test.go +++ b/config/httpcfg_test.go @@ -66,36 +66,49 @@ func TestHTTPCfgloadFromJsonCfg(t *testing.T) { } func TestHTTPCfgAsMapInterface(t *testing.T) { - var httpcfg HTTPCfg cfgJSONStr := `{ - "http": { - "json_rpc_url": "/jsonrpc", - "dispatchers_registrar_url": "/dispatchers_registrar", - "ws_url": "/ws", - "freeswitch_cdrs_url": "/freeswitch_json", - "http_cdrs": "/cdr_http", - "use_basic_auth": false, - "auth_users": {}, - }, + "http": {}, }` - eMap := map[string]interface{}{ - "json_rpc_url": "/jsonrpc", - "dispatchers_registrar_url": "/dispatchers_registrar", - "ws_url": "/ws", - "freeswitch_cdrs_url": "/freeswitch_json", - "http_cdrs": "/cdr_http", - "use_basic_auth": false, - "auth_users": map[string]interface{}{}, + utils.HTTPJsonRPCURLCfg: "/jsonrpc", + utils.DispatchersRegistrarURLCfg: "/dispatchers_registrar", + utils.HTTPWSURLCfg: "/ws", + utils.HTTPFreeswitchCDRsURLCfg: "/freeswitch_json", + utils.HTTPCDRsURLCfg: "/cdr_http", + utils.HTTPUseBasicAuthCfg: false, + utils.HTTPAuthUsersCfg: map[string]interface{}{}, } - - if jsnCfg, err := NewCgrJsonCfgFromBytes([]byte(cfgJSONStr)); err != nil { + if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { t.Error(err) - } else if jsnhttpCfg, err := jsnCfg.HttpJsonCfg(); err != nil { - t.Error(err) - } else if err = httpcfg.loadFromJsonCfg(jsnhttpCfg); err != nil { - t.Error(err) - } else if rcv := httpcfg.AsMapInterface(); !reflect.DeepEqual(eMap, rcv) { - t.Errorf("Expected: %+v ,\n recived: %+v", utils.ToJSON(eMap), utils.ToJSON(rcv)) + } else if rcv := cgrCfg.httpCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) { + t.Errorf("Expected %+v, received %+v", eMap, rcv) + } +} + +func TestHTTPCfgAsMapInterface1(t *testing.T) { + cfgJSONStr := `{ + "http": { + "json_rpc_url": "/rpc", + "ws_url": "", + "use_basic_auth": true, + "auth_users": {"user1": "authenticated", "user2": "authenticated"}, + }, +}` + eMap := map[string]interface{}{ + utils.HTTPJsonRPCURLCfg: "/rpc", + utils.DispatchersRegistrarURLCfg: "/dispatchers_registrar", + utils.HTTPWSURLCfg: "", + utils.HTTPFreeswitchCDRsURLCfg: "/freeswitch_json", + utils.HTTPCDRsURLCfg: "/cdr_http", + utils.HTTPUseBasicAuthCfg: true, + utils.HTTPAuthUsersCfg: map[string]interface{}{ + "user1": "authenticated", + "user2": "authenticated", + }, + } + if cgrCfg, err := NewCGRConfigFromJsonStringWithDefaults(cfgJSONStr); err != nil { + t.Error(err) + } else if rcv := cgrCfg.httpCfg.AsMapInterface(); !reflect.DeepEqual(rcv, eMap) { + t.Errorf("Expected %+v, received %+v", eMap, rcv) } }