Files
EdgeNode/internal/caches/manager_test.go

135 lines
3.2 KiB
Go
Raw Permalink Normal View History

2023-11-17 19:12:24 +08:00
package caches_test
2020-10-04 14:30:42 +08:00
import (
2024-07-27 15:42:50 +08:00
"testing"
2020-10-04 14:30:42 +08:00
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
2023-11-17 19:12:24 +08:00
"github.com/TeaOSLab/EdgeNode/internal/caches"
2020-10-04 14:30:42 +08:00
"github.com/iwind/TeaGo/Tea"
)
func TestManager_UpdatePolicies(t *testing.T) {
{
var policies = []*serverconfigs.HTTPCachePolicy{}
2023-11-17 19:12:24 +08:00
caches.SharedManager.UpdatePolicies(policies)
2020-10-04 14:30:42 +08:00
printManager(t)
}
{
var policies = []*serverconfigs.HTTPCachePolicy{
2020-10-04 14:30:42 +08:00
{
Id: 1,
2020-10-05 19:15:35 +08:00
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
{
Id: 2,
2020-10-05 19:15:35 +08:00
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
{
Id: 3,
2020-10-05 19:15:35 +08:00
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
}
2023-11-17 19:12:24 +08:00
caches.SharedManager.UpdatePolicies(policies)
2020-10-04 14:30:42 +08:00
printManager(t)
}
{
var policies = []*serverconfigs.HTTPCachePolicy{
2020-10-04 14:30:42 +08:00
{
Id: 1,
2020-10-05 19:15:35 +08:00
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
{
Id: 2,
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
{
Id: 4,
2020-10-05 19:15:35 +08:00
Type: serverconfigs.CachePolicyStorageFile,
2020-10-04 14:30:42 +08:00
Options: map[string]interface{}{
"dir": Tea.Root + "/caches",
},
},
}
2023-11-17 19:12:24 +08:00
caches.SharedManager.UpdatePolicies(policies)
2020-10-04 14:30:42 +08:00
printManager(t)
}
}
func TestManager_ChangePolicy_Memory(t *testing.T) {
var policies = []*serverconfigs.HTTPCachePolicy{
{
Id: 1,
Type: serverconfigs.CachePolicyStorageMemory,
Options: map[string]interface{}{},
Capacity: &shared.SizeCapacity{Count: 1, Unit: shared.SizeCapacityUnitGB},
},
}
2023-11-17 19:12:24 +08:00
caches.SharedManager.UpdatePolicies(policies)
caches.SharedManager.UpdatePolicies([]*serverconfigs.HTTPCachePolicy{
{
Id: 1,
Type: serverconfigs.CachePolicyStorageMemory,
Options: map[string]interface{}{},
Capacity: &shared.SizeCapacity{Count: 2, Unit: shared.SizeCapacityUnitGB},
},
})
}
func TestManager_ChangePolicy_File(t *testing.T) {
var policies = []*serverconfigs.HTTPCachePolicy{
{
Id: 1,
Type: serverconfigs.CachePolicyStorageFile,
Options: map[string]interface{}{
"dir": Tea.Root + "/data/cache-index/p1",
},
Capacity: &shared.SizeCapacity{Count: 1, Unit: shared.SizeCapacityUnitGB},
},
}
2023-11-17 19:12:24 +08:00
caches.SharedManager.UpdatePolicies(policies)
caches.SharedManager.UpdatePolicies([]*serverconfigs.HTTPCachePolicy{
{
Id: 1,
Type: serverconfigs.CachePolicyStorageFile,
Options: map[string]interface{}{
"dir": Tea.Root + "/data/cache-index/p1",
},
Capacity: &shared.SizeCapacity{Count: 2, Unit: shared.SizeCapacityUnitGB},
},
})
}
2023-11-17 19:12:24 +08:00
func TestManager_MaxSystemMemoryBytesPerStorage(t *testing.T) {
for i := 0; i < 100; i++ {
caches.SharedManager.CountMemoryStorages = i
t.Log(i, caches.SharedManager.MaxSystemMemoryBytesPerStorage()>>30, "GB")
}
}
2020-10-04 14:30:42 +08:00
func printManager(t *testing.T) {
t.Log("===manager==")
t.Log("storage:")
2023-11-17 19:12:24 +08:00
for _, storage := range caches.SharedManager.StorageMap() {
2020-10-04 14:30:42 +08:00
t.Log(" storage:", storage.Policy().Id)
}
t.Log("===============")
}