mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Implement PrepareMap methods for virtual EE
This commit is contained in:
committed by
Dan Christian Bogos
parent
c5b197db6f
commit
9494fc6e5e
@@ -19,6 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
package ees
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
@@ -36,12 +39,30 @@ type VirtualEE struct {
|
||||
dc *utils.SafeMapStorage
|
||||
}
|
||||
|
||||
func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg }
|
||||
func (vEe *VirtualEE) Connect() error { return nil }
|
||||
func (vEe *VirtualEE) ExportEvent(any, string) error { return nil }
|
||||
func (vEe *VirtualEE) Close() error { return nil }
|
||||
func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc }
|
||||
func (vEe *VirtualEE) PrepareMap(*utils.CGREvent) (any, error) { return nil, nil }
|
||||
func (vEe *VirtualEE) PrepareOrderMap(*utils.OrderedNavigableMap) (any, error) {
|
||||
return nil, nil
|
||||
func (vEe *VirtualEE) Cfg() *config.EventExporterCfg { return vEe.cfg }
|
||||
func (vEe *VirtualEE) Connect() error { return nil }
|
||||
|
||||
func (vEe *VirtualEE) ExportEvent(payload any, _ string) error {
|
||||
utils.Logger.Info(
|
||||
fmt.Sprintf("<%s> <%s> exported: <%s>",
|
||||
utils.EEs, vEe.Cfg().ID, utils.ToJSON(payload)))
|
||||
return nil
|
||||
}
|
||||
|
||||
func (vEe *VirtualEE) Close() error { return nil }
|
||||
func (vEe *VirtualEE) GetMetrics() *utils.SafeMapStorage { return vEe.dc }
|
||||
|
||||
func (vEe *VirtualEE) PrepareMap(cgrEv *utils.CGREvent) (any, error) {
|
||||
return cgrEv.Event, nil
|
||||
}
|
||||
|
||||
func (vEe *VirtualEE) PrepareOrderMap(onm *utils.OrderedNavigableMap) (any, error) {
|
||||
preparedMap := make(map[string]any)
|
||||
for el := onm.GetFirstElement(); el != nil; el = el.Next() {
|
||||
path := el.Value
|
||||
item, _ := onm.Field(path)
|
||||
path = path[:len(path)-1] // remove the last index
|
||||
preparedMap[strings.Join(path, utils.NestingSep)] = item.String()
|
||||
}
|
||||
return preparedMap, nil
|
||||
}
|
||||
|
||||
@@ -22,6 +22,7 @@ import (
|
||||
"reflect"
|
||||
"testing"
|
||||
|
||||
"github.com/cgrates/cgrates/config"
|
||||
"github.com/cgrates/cgrates/utils"
|
||||
)
|
||||
|
||||
@@ -39,7 +40,11 @@ func TestVirtualEeGetMetrics(t *testing.T) {
|
||||
}
|
||||
}
|
||||
func TestVirtualEeExportEvent(t *testing.T) {
|
||||
vEe := &VirtualEE{}
|
||||
vEe := &VirtualEE{
|
||||
cfg: &config.EventExporterCfg{
|
||||
ID: "testEE",
|
||||
},
|
||||
}
|
||||
if err := vEe.ExportEvent([]byte{}, ""); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user