From de3cac31b4e1f3a93a8ac7e80f9f3bd76451fe65 Mon Sep 17 00:00:00 2001 From: porosnicuadrian Date: Fri, 23 Oct 2020 17:54:06 +0300 Subject: [PATCH] Covered tests in rates.go --- rates/rates_test.go | 110 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) diff --git a/rates/rates_test.go b/rates/rates_test.go index dfeb7f61c..c9dba919b 100644 --- a/rates/rates_test.go +++ b/rates/rates_test.go @@ -109,3 +109,113 @@ func TestStartTimeError(t *testing.T) { t.Errorf("Expected %+v, received %+v", expectedErr, err) } } + +func TestStartTimeFieldAsTimeErrorAnswerTime(t *testing.T) { + cgrEvent := &utils.CGREventWithOpts{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "randomID", + Time: utils.TimePointer(time.Now()), + Event: map[string]interface{}{ + utils.AnswerTime: "0s", + }, + }, + } + rateProfileIDs := []string{"randomIDs"} + argsCost := &ArgsCostForEvent{ + rateProfileIDs, + cgrEvent, + } + expectedErr := "Unsupported time format" + if _, err := argsCost.StartTime(utils.EmptyString); err == nil || err.Error() != expectedErr { + t.Errorf("Expected %+v, received %+v", expectedErr, err) + } +} + +func TestStartTimeFieldAsTimeErrorSetupTime(t *testing.T) { + cgrEvent := &utils.CGREventWithOpts{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "randomID", + Time: utils.TimePointer(time.Now()), + Event: map[string]interface{}{ + utils.SetupTime: "1h0m0s", + }, + }, + } + rateProfileIDs := []string{"randomIDs"} + argsCost := &ArgsCostForEvent{ + rateProfileIDs, + cgrEvent, + } + expectedErr := "Unsupported time format" + if _, err := argsCost.StartTime(utils.EmptyString); err == nil || err.Error() != expectedErr { + t.Errorf("Expected %+v, received %+v", expectedErr, err) + } +} + +func TestStartTimeFieldAsTimeNilTime(t *testing.T) { + cgrEvent := &utils.CGREventWithOpts{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "randomID", + Event: map[string]interface{}{ + utils.AnswerTime: time.Time{}, + }, + }, + } + rateProfileIDs := []string{"randomIDs"} + argsCost := &ArgsCostForEvent{ + rateProfileIDs, + cgrEvent, + } + if _, err := argsCost.StartTime(utils.EmptyString); err != nil { + t.Error(err) + } +} + +func TestStartTimeFieldAsTimeNow(t *testing.T) { + cgrEvent := &utils.CGREventWithOpts{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "randomID", + Event: map[string]interface{}{}, + }, + } + rateProfileIDs := []string{"randomIDs"} + argsCost := &ArgsCostForEvent{ + rateProfileIDs, + cgrEvent, + } + if _, err := argsCost.StartTime(utils.EmptyString); err != nil { + t.Error(err) + } +} + +func TestCallRates(t *testing.T) { + newRates := &RateS{} + var reply *string + expectedErr := "UNSUPPORTED_SERVICE_METHOD" + if err := newRates.Call("inexistentMethodCall", nil, reply); err == nil || err.Error() != expectedErr { + t.Errorf("Expected %+v, received %+v", expectedErr, err) + } +} + +func TestV1CostForEvent(t *testing.T) { + rts := &RateS{} + cgrEvent := &utils.CGREventWithOpts{ + CGREvent: &utils.CGREvent{ + Tenant: "cgrates.org", + ID: "randomID", + Event: map[string]interface{}{}, + }, + } + rateProfileIDs := []string{"randomIDs"} + argsCost := &ArgsCostForEvent{ + rateProfileIDs, + cgrEvent, + } + if err := rts.V1CostForEvent(argsCost, nil); err != nil { + t.Error(err) + } +}