mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Added tests for thresholds and resources update
This commit is contained in:
committed by
Dan Christian Bogos
parent
6d6cf380e7
commit
7ae7db09d2
@@ -1068,3 +1068,111 @@ func TestThresholdsProcessEvent2(t *testing.T) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestThresholdsUpdateThreshold(t *testing.T) {
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil)
|
||||
thp := &ThresholdProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "THUP1",
|
||||
}
|
||||
th := &Threshold{
|
||||
Tenant: thp.Tenant,
|
||||
ID: thp.ID,
|
||||
Hits: 5,
|
||||
Snooze: time.Now(),
|
||||
}
|
||||
expTh := &Threshold{
|
||||
Tenant: thp.Tenant,
|
||||
ID: thp.ID,
|
||||
}
|
||||
|
||||
if err := dm.SetThresholdProfile(thp, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if th, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(expTh, th) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expTh), utils.ToJSON(th))
|
||||
}
|
||||
|
||||
if err := dm.RemoveThreshold(th.Tenant, th.ID, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if err := dm.SetThresholdProfile(thp, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if th, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(expTh, th) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expTh), utils.ToJSON(th))
|
||||
}
|
||||
|
||||
if err := dm.SetThreshold(th); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
thp = &ThresholdProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "THUP1",
|
||||
MaxHits: 1,
|
||||
}
|
||||
|
||||
if err := dm.SetThresholdProfile(thp, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if th, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(expTh, th) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expTh), utils.ToJSON(th))
|
||||
}
|
||||
|
||||
if err := dm.SetThreshold(th); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
thp = &ThresholdProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "THUP1",
|
||||
MaxHits: 1,
|
||||
MinHits: 1,
|
||||
}
|
||||
|
||||
if err := dm.SetThresholdProfile(thp, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if th, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(expTh, th) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expTh), utils.ToJSON(th))
|
||||
}
|
||||
|
||||
if err := dm.SetThreshold(th); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
thp = &ThresholdProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "THUP1",
|
||||
MaxHits: 1,
|
||||
MinHits: 1,
|
||||
MinSleep: 1,
|
||||
}
|
||||
|
||||
if err := dm.SetThresholdProfile(thp, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if th, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(expTh, th) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expTh), utils.ToJSON(th))
|
||||
}
|
||||
if err := dm.RemoveThresholdProfile(thp.Tenant, thp.ID, utils.NonTransactional, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if _, err := dm.GetThreshold(thp.Tenant, thp.ID, false, false, utils.NonTransactional); err != utils.ErrNotFound {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3644,3 +3644,125 @@ func TestResourcesProcessThresholdsThdConnMetaNone(t *testing.T) {
|
||||
t.Errorf("\nexpected nil, received: %+v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestResourcesUpdateResource(t *testing.T) {
|
||||
cfg := config.NewDefaultCGRConfig()
|
||||
dm := NewDataManager(NewInternalDB(nil, nil, true), cfg.CacheCfg(), nil)
|
||||
Cache.Clear(nil)
|
||||
res := &ResourceProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "RES1",
|
||||
UsageTTL: 0,
|
||||
Limit: 10,
|
||||
Stored: true,
|
||||
}
|
||||
r := &Resource{
|
||||
Tenant: res.Tenant,
|
||||
ID: res.ID,
|
||||
Usages: map[string]*ResourceUsage{
|
||||
"jkbdfgs": {
|
||||
Tenant: res.Tenant,
|
||||
ID: "jkbdfgs",
|
||||
ExpiryTime: time.Now(),
|
||||
Units: 5,
|
||||
},
|
||||
},
|
||||
TTLIdx: []string{"jkbdfgs"},
|
||||
}
|
||||
expR := &Resource{
|
||||
Tenant: res.Tenant,
|
||||
ID: res.ID,
|
||||
Usages: make(map[string]*ResourceUsage),
|
||||
}
|
||||
if err := dm.SetResourceProfile(res, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if r, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(r, expR) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expR), utils.ToJSON(r))
|
||||
}
|
||||
|
||||
if err := dm.RemoveResource(r.Tenant, r.ID, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if err := dm.SetResourceProfile(res, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if r, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(r, expR) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expR), utils.ToJSON(r))
|
||||
}
|
||||
|
||||
if err := dm.SetResource(r); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
res = &ResourceProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "RES1",
|
||||
UsageTTL: 0,
|
||||
Limit: 5,
|
||||
Stored: true,
|
||||
}
|
||||
if err := dm.SetResourceProfile(res, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if r, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(r, expR) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expR), utils.ToJSON(r))
|
||||
}
|
||||
|
||||
if err := dm.SetResource(r); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
res = &ResourceProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "RES1",
|
||||
UsageTTL: 10,
|
||||
Limit: 5,
|
||||
Stored: true,
|
||||
}
|
||||
if err := dm.SetResourceProfile(res, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if r, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(r, expR) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expR), utils.ToJSON(r))
|
||||
}
|
||||
|
||||
if err := dm.SetResource(r); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
res = &ResourceProfile{
|
||||
Tenant: "cgrates.org",
|
||||
ID: "RES1",
|
||||
UsageTTL: 10,
|
||||
Limit: 5,
|
||||
Stored: false,
|
||||
}
|
||||
if err := dm.SetResourceProfile(res, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
if r, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != nil {
|
||||
t.Fatal(err)
|
||||
} else if !reflect.DeepEqual(r, expR) {
|
||||
t.Errorf("Expected: %s, received: %s", utils.ToJSON(expR), utils.ToJSON(r))
|
||||
}
|
||||
|
||||
if err := dm.RemoveResourceProfile(res.Tenant, res.ID, utils.NonTransactional, true); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
if _, err := dm.GetResource(res.Tenant, res.ID, false, false, utils.NonTransactional); err != utils.ErrNotFound {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user