mirror of
https://github.com/Sagit-chu/flvx.git
synced 2026-10-10 11:36:36 +08:00
fix: reduce runtime sync disruptions (#484)
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
package socket
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
corelogger "github.com/go-gost/core/logger"
|
||||
"github.com/go-gost/x/config"
|
||||
xlogger "github.com/go-gost/x/logger"
|
||||
"github.com/go-gost/x/registry"
|
||||
)
|
||||
|
||||
func TestCreateConnLimiterUpdatesGlobalConfig(t *testing.T) {
|
||||
corelogger.SetDefault(xlogger.Nop())
|
||||
|
||||
name := "conn_limiter_tdd"
|
||||
originalConfig := config.Global()
|
||||
defer config.Set(originalConfig)
|
||||
registry.ConnLimiterRegistry().Unregister(name)
|
||||
defer registry.ConnLimiterRegistry().Unregister(name)
|
||||
config.Set(&config.Config{})
|
||||
|
||||
err := createConnLimiter(createLimiterRequest{Data: config.LimiterConfig{Name: name, Limits: []string{"$ 1"}}})
|
||||
if err != nil {
|
||||
t.Fatalf("create conn limiter: %v", err)
|
||||
}
|
||||
|
||||
cfg := config.Global()
|
||||
if len(cfg.CLimiters) != 1 || cfg.CLimiters[0] == nil || cfg.CLimiters[0].Name != name {
|
||||
t.Fatalf("expected conn limiter in global config, got %#v", cfg.CLimiters)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCreateLimiterReportsPersistFailure(t *testing.T) {
|
||||
corelogger.SetDefault(xlogger.Nop())
|
||||
|
||||
name := "traffic_limiter_persist_tdd"
|
||||
originalConfig := config.Global()
|
||||
originalPersistPath := config.PersistPath()
|
||||
defer config.Set(originalConfig)
|
||||
defer config.SetPersistPath(originalPersistPath)
|
||||
registry.TrafficLimiterRegistry().Unregister(name)
|
||||
defer registry.TrafficLimiterRegistry().Unregister(name)
|
||||
config.Set(&config.Config{})
|
||||
config.SetPersistPath(filepath.Join(t.TempDir(), "missing", "gost.json"))
|
||||
config.EnablePersist()
|
||||
|
||||
err := createLimiter(createLimiterRequest{Data: config.LimiterConfig{Name: name, Limits: []string{"$ 1"}}})
|
||||
if err == nil {
|
||||
t.Fatalf("expected persist failure to be returned")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user