Fixed Cover tests in Config

This commit is contained in:
andronache
2021-06-08 17:12:59 +03:00
committed by Dan Christian Bogos
parent ef896f7577
commit 333216e06a
4 changed files with 45 additions and 100 deletions

View File

@@ -164,34 +164,18 @@ type CacheParamJsonCfg struct {
Replicate *bool
}
func diffCacheParamJsonCfg(d *CacheParamJsonCfg, v1, v2 *CacheParamCfg) *CacheParamJsonCfg {
if d == nil {
d = new(CacheParamJsonCfg)
}
if v1.Limit != v2.Limit {
d.Limit = utils.IntPointer(v2.Limit)
}
if v1.TTL != v2.TTL {
d.Ttl = utils.StringPointer(v2.TTL.String())
}
if v1.StaticTTL != v2.StaticTTL {
d.Static_ttl = utils.BoolPointer(v2.StaticTTL)
}
if v1.Precache != v2.Precache {
d.Precache = utils.BoolPointer(v2.Precache)
}
if v1.Replicate != v2.Replicate {
d.Replicate = utils.BoolPointer(v2.Replicate)
}
return d
}
func diffCacheParamsJsonCfg(d map[string]*CacheParamJsonCfg, v1, v2 map[string]*CacheParamCfg) map[string]*CacheParamJsonCfg {
func diffCacheParamsJsonCfg(d map[string]*CacheParamJsonCfg, v2 map[string]*CacheParamCfg) map[string]*CacheParamJsonCfg {
if d == nil {
d = make(map[string]*CacheParamJsonCfg)
}
for k, val2 := range v2 {
d[k] = diffCacheParamJsonCfg(d[k], new(CacheParamCfg), val2)
d[k] = &CacheParamJsonCfg{
Limit: utils.IntPointer(val2.Limit),
Ttl: utils.StringPointer(val2.TTL.String()),
Static_ttl: utils.BoolPointer(val2.StaticTTL),
Precache: utils.BoolPointer(val2.Precache),
Replicate: utils.BoolPointer(val2.Replicate),
}
}
return d
}
@@ -205,7 +189,7 @@ func diffCacheJsonCfg(d *CacheJsonCfg, v1, v2 *CacheCfg) *CacheJsonCfg {
if d == nil {
d = new(CacheJsonCfg)
}
d.Partitions = diffCacheParamsJsonCfg(d.Partitions, v1.Partitions, v2.Partitions)
d.Partitions = diffCacheParamsJsonCfg(d.Partitions, v2.Partitions)
if !utils.SliceStringEqual(v1.ReplicationConns, v2.ReplicationConns) {
d.Replication_conns = &v2.ReplicationConns
}

View File

@@ -178,65 +178,8 @@ func TestCacheCfgClone(t *testing.T) {
}
}
func TestDiffCacheParamJsonCfg(t *testing.T) {
var d *CacheParamJsonCfg
v1 := &CacheParamCfg{
Limit: 2,
TTL: 2 * time.Minute,
StaticTTL: false,
Precache: true,
Replicate: false,
}
v2 := &CacheParamCfg{
Limit: 3,
TTL: 5 * time.Minute,
StaticTTL: true,
Precache: false,
Replicate: true,
}
expected := &CacheParamJsonCfg{
Limit: utils.IntPointer(3),
Ttl: utils.StringPointer("5m0s"),
Static_ttl: utils.BoolPointer(true),
Precache: utils.BoolPointer(false),
Replicate: utils.BoolPointer(true),
}
rcv := diffCacheParamJsonCfg(d, v1, v2)
if !reflect.DeepEqual(rcv, expected) {
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv))
}
v2_2 := v1
expected2 := &CacheParamJsonCfg{
Limit: nil,
Ttl: nil,
Static_ttl: nil,
Precache: nil,
Replicate: nil,
}
rcv = diffCacheParamJsonCfg(d, v1, v2_2)
if !reflect.DeepEqual(rcv, expected2) {
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(expected2), utils.ToJSON(rcv))
}
}
func TestDiffCacheParamsJsonCfg(t *testing.T) {
var d map[string]*CacheParamJsonCfg
v1 := map[string]*CacheParamCfg{
"CACHE_1": {
Limit: 2,
TTL: 2 * time.Minute,
StaticTTL: false,
Precache: true,
Replicate: false,
},
}
v2 := map[string]*CacheParamCfg{
"CACHE_2": {
Limit: 3,
@@ -252,27 +195,35 @@ func TestDiffCacheParamsJsonCfg(t *testing.T) {
Limit: utils.IntPointer(3),
Ttl: utils.StringPointer("5m0s"),
Static_ttl: utils.BoolPointer(true),
Precache: nil,
Precache: utils.BoolPointer(false),
Replicate: utils.BoolPointer(true),
},
}
rcv := diffCacheParamsJsonCfg(d, v1, v2)
rcv := diffCacheParamsJsonCfg(d, v2)
if !reflect.DeepEqual(rcv, expected) {
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(expected), utils.ToJSON(rcv))
}
v2_2 := v1
expected2 := map[string]*CacheParamJsonCfg{
v2_2 := map[string]*CacheParamCfg{
"CACHE_1": {
Limit: nil,
Ttl: nil,
Static_ttl: nil,
Precache: nil,
Replicate: nil,
Limit: 2,
TTL: 2 * time.Minute,
StaticTTL: false,
Precache: true,
Replicate: false,
},
}
rcv = diffCacheParamsJsonCfg(d, v1, v2_2)
expected2 := map[string]*CacheParamJsonCfg{
"CACHE_1": {
Limit: utils.IntPointer(2),
Ttl: utils.StringPointer("2m0s"),
Static_ttl: utils.BoolPointer(false),
Precache: utils.BoolPointer(true),
Replicate: utils.BoolPointer(false),
},
}
rcv = diffCacheParamsJsonCfg(d, v2_2)
if !reflect.DeepEqual(rcv, expected2) {
t.Errorf("Expected %v \n but received \n %v", utils.ToJSON(expected2), utils.ToJSON(rcv))
}
@@ -329,11 +280,11 @@ func TestDiffCacheJsonCfg(t *testing.T) {
expected2 := &CacheJsonCfg{
Partitions: map[string]*CacheParamJsonCfg{
"CACHE_2": {
Limit: nil,
Ttl: nil,
Static_ttl: nil,
Precache: nil,
Replicate: nil,
Limit: utils.IntPointer(2),
Ttl: utils.StringPointer("2m0s"),
Static_ttl: utils.BoolPointer(false),
Precache: utils.BoolPointer(true),
Replicate: utils.BoolPointer(false),
},
},
Replication_conns: nil,

View File

@@ -448,7 +448,7 @@ func diffEEsJsonCfg(d *EEsJsonCfg, v1, v2 *EEsCfg, separator string) *EEsJsonCfg
if !utils.SliceStringEqual(v1.AttributeSConns, v2.AttributeSConns) {
d.Attributes_conns = utils.SliceStringPointer(getInternalJSONConns(v2.AttributeSConns))
}
d.Cache = diffCacheParamsJsonCfg(d.Cache, v1.Cache, v2.Cache)
d.Cache = diffCacheParamsJsonCfg(d.Cache, v2.Cache)
d.Exporters = diffEventExportersJsonCfg(d.Exporters, v1.Exporters, v2.Exporters, separator)
return d
}

View File

@@ -1112,7 +1112,11 @@ func TestDiffEEsJsonCfg(t *testing.T) {
Attributes_conns: &[]string{"*birpc"},
Cache: map[string]*CacheParamJsonCfg{
"CACHE_1": {
Limit: utils.IntPointer(1),
Limit: utils.IntPointer(1),
Ttl: utils.StringPointer("0s"),
Static_ttl: utils.BoolPointer(false),
Precache: utils.BoolPointer(false),
Replicate: utils.BoolPointer(false),
},
},
Exporters: &[]*EventExporterJsonCfg{
@@ -1131,7 +1135,13 @@ func TestDiffEEsJsonCfg(t *testing.T) {
v1 = v2
expected = &EEsJsonCfg{
Cache: map[string]*CacheParamJsonCfg{
"CACHE_1": {},
"CACHE_1": {
Limit: utils.IntPointer(1),
Ttl: utils.StringPointer("0s"),
Static_ttl: utils.BoolPointer(false),
Precache: utils.BoolPointer(false),
Replicate: utils.BoolPointer(false),
},
},
Exporters: &[]*EventExporterJsonCfg{
{