From 27b789707ca57f41c7203af511c5471e6e6967e6 Mon Sep 17 00:00:00 2001 From: armirveliaj Date: Mon, 26 Aug 2024 08:51:43 -0400 Subject: [PATCH] Add new unit tests on engine --- engine/datadbmock_test.go | 165 ++++++++++++++++++++++++++++++++++++++ engine/models_test.go | 18 +++++ engine/ratingplan_test.go | 13 +++ 3 files changed, 196 insertions(+) diff --git a/engine/datadbmock_test.go b/engine/datadbmock_test.go index 8aee8c951..784dd9f90 100644 --- a/engine/datadbmock_test.go +++ b/engine/datadbmock_test.go @@ -697,3 +697,168 @@ func TestDataDBMockSetActionsDrv(t *testing.T) { t.Errorf("expected error %v, but got %v", expectedError, err) } } + +func TestRemoveAttributeProfileDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + err := dbM.RemoveAttributeProfileDrv("Profile", "Drv") + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestSetAttributeProfileDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + Profile := &AttributeProfile{} + err := dbM.SetAttributeProfileDrv(Profile) + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetAttributeProfileDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + profile, err := dbM.GetAttributeProfileDrv("Profile", "Drv") + if profile != nil { + t.Errorf("expected profile to be nil, but got %v", profile) + } + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetThresholdProfileDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{ + GetThresholdProfileDrvF: nil, + } + profile, err := dbM.GetThresholdProfileDrv("Tenant", "ID") + if profile != nil { + t.Errorf("expected profile to be nil, but got %v", profile) + } + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestRemStatQueueDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + err := dbM.RemStatQueueDrv("Tenant", "ID") + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestSetStatQueueDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + dummySSQ := &StoredStatQueue{} + dummySQ := &StatQueue{} + err := dbM.SetStatQueueDrv(dummySSQ, dummySQ) + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetStatQueueDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + sq, err := dbM.GetStatQueueDrv("Tenant", "ID") + if sq != nil { + t.Errorf("expected StatQueue to be nil, but got %v", sq) + } + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestRemoveTrendDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + err := dbM.RemoveTrendDrv("dummyTenant", "dummyID") + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestSetTrendDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + tTrend := &Trend{} + err := dbM.SetTrendDrv(tTrend) + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetTrendDrvNotImplemented(t *testing.T) { + dbM := &DataDBMock{} + trend, err := dbM.GetTrendDrv("Tenant", "ID") + if trend != nil { + t.Errorf("expected Trend to be nil, but got %v", trend) + } + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestRemTrendProfileDrv(t *testing.T) { + dbM := &DataDBMock{ + RemTrendProfileDrvF: nil, + } + err := dbM.RemTrendProfileDrv("Tenant", "ID") + if err != utils.ErrNotImplemented { + t.Errorf("Expected error %v, but got %v", utils.ErrNotImplemented, err) + } + dbM.RemTrendProfileDrvF = func(tenant, id string) error { + return utils.ErrNotImplemented + } + err = dbM.RemTrendProfileDrv("Tenant", "ID") + if err != utils.ErrNotImplemented { + t.Errorf("Expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetTrendProfileDrv(t *testing.T) { + dbM := &DataDBMock{} + tenant := "Tenant" + id := "ID" + dummyTrendProfile := &TrendProfile{} + dbM.GetTrendProfileDrvF = nil + sg, err := dbM.GetTrendProfileDrv(tenant, id) + if sg != nil { + t.Errorf("Expected TrendProfile to be nil, but got %v", sg) + } + if err != utils.ErrNotImplemented { + t.Errorf("Expected error %v, but got %v", utils.ErrNotImplemented, err) + } + dbM.GetTrendProfileDrvF = func(tenant, id string) (*TrendProfile, error) { + return dummyTrendProfile, nil + } + sg, err = dbM.GetTrendProfileDrv(tenant, id) + if err == nil { + t.Errorf("NOT_IMPLEMENTED") + } +} + +func TestRemoveResourceDrv(t *testing.T) { + dbM := &DataDBMock{} + err := dbM.RemoveResourceDrv("Tenant", "ID") + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestSetTimingDrv(t *testing.T) { + dbM := &DataDBMock{} + dummyTiming := &utils.TPTiming{} + err := dbM.SetTimingDrv(dummyTiming) + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} + +func TestGetLoadHistory(t *testing.T) { + dbM := &DataDBMock{} + instances, err := dbM.GetLoadHistory(0, false, "Param") + if instances != nil { + t.Errorf("expected instances to be nil, but got %v", instances) + } + if err != utils.ErrNotImplemented { + t.Errorf("expected error %v, but got %v", utils.ErrNotImplemented, err) + } +} diff --git a/engine/models_test.go b/engine/models_test.go index 3778018d7..2c015be6c 100644 --- a/engine/models_test.go +++ b/engine/models_test.go @@ -334,3 +334,21 @@ func TestEngineTableNameDispatcherHostMdl(t *testing.T) { t.Errorf("Expected TableName(): %s, got: %s", got, got) } } + +func TestTableName(t *testing.T) { + expectedTableName := utils.TBLTPRankings + rankingsMdl := &RankingsMdl{} + actualTableName := rankingsMdl.TableName() + if actualTableName != expectedTableName { + t.Errorf("expected %s, but got %s", expectedTableName, actualTableName) + } +} + +func TestTrendsTableName(t *testing.T) { + expectedTableName := utils.TBLTPTrends + trendsMdl := &TrendsMdl{} + actualTableName := trendsMdl.TableName() + if actualTableName != expectedTableName { + t.Errorf("expected %s, but got %s", expectedTableName, actualTableName) + } +} diff --git a/engine/ratingplan_test.go b/engine/ratingplan_test.go index 61ae7e77e..d6838c2ab 100644 --- a/engine/ratingplan_test.go +++ b/engine/ratingplan_test.go @@ -451,3 +451,16 @@ func BenchmarkRatingPlanRestore(b *testing.B) { dm.GetRatingPlan(rp.Id, true, utils.NonTransactional) } } + +func TestEqual(t *testing.T) { + rp1 := &RatingPlan{Id: "1"} + rp2 := &RatingPlan{Id: "1"} + if !rp1.Equal(rp2) { + t.Errorf("expected RatingPlan instances with the same Id to be equal") + } + rp1 = &RatingPlan{Id: "1"} + rp2 = &RatingPlan{Id: "2"} + if rp1.Equal(rp2) { + t.Errorf("expected RatingPlan instances with different Ids to be not equal") + } +}