diff --git a/engine/actionprofile_test.go b/engine/actionprofile_test.go new file mode 100644 index 000000000..ca165d72d --- /dev/null +++ b/engine/actionprofile_test.go @@ -0,0 +1,68 @@ +/* +Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments +Copyright (C) ITsysCOM GmbH + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see +*/ + +package engine + +import ( + "reflect" + "testing" + + "github.com/cgrates/cgrates/utils" +) + +func TestActionProfileSort(t *testing.T) { + testStruct := &ActionProfiles{ + { + Tenant: "test_tenantA", + ID: "test_idA", + Weight: 1, + }, + { + Tenant: "test_tenantB", + ID: "test_idB", + Weight: 2, + }, + { + Tenant: "test_tenantC", + ID: "test_idC", + Weight: 3, + }, + } + expStruct := &ActionProfiles{ + { + Tenant: "test_tenantC", + ID: "test_idC", + Weight: 3, + }, + + { + Tenant: "test_tenantB", + ID: "test_idB", + Weight: 2, + }, + { + Tenant: "test_tenantA", + ID: "test_idA", + Weight: 1, + }, + } + testStruct.Sort() + if !reflect.DeepEqual(expStruct, testStruct) { + t.Errorf("Expected: %s ,received: %s", utils.ToJSON(expStruct), utils.ToJSON(testStruct)) + } +} diff --git a/engine/mapevent_test.go b/engine/mapevent_test.go index 76f212518..8d5254f5f 100644 --- a/engine/mapevent_test.go +++ b/engine/mapevent_test.go @@ -768,3 +768,27 @@ func TestMapEventGetDurationPtrOrDefault(t *testing.T) { t.Errorf("Expected: %+v, received: %+v", newVal, ptr) } } + +func TestMapEventCloneError(t *testing.T) { + testStruct := MapEvent{} + testStruct = nil + exp := MapEvent{} + exp = nil + result := testStruct.Clone() + if !reflect.DeepEqual(result, exp) { + t.Errorf("Expected: %+v, received: %+v", exp, result) + } +} + +func TestMapEventData(t *testing.T) { + testStruct := MapEvent{ + "key1": "val1", + } + expStruct := map[string]interface{}{ + "key1": "val1", + } + result := testStruct.Data() + if !reflect.DeepEqual(result, expStruct) { + t.Errorf("Expected: %+v, received: %+v", expStruct, result) + } +}