2024-07-27 13:29:26 +08:00
|
|
|
// Copyright 2022 GoEdge CDN goedge.cdn@gmail.com. All rights reserved. Official site: https://goedge.cloud .
|
2022-10-24 10:21:13 +08:00
|
|
|
|
|
|
|
|
package serverconfigs_test
|
|
|
|
|
|
|
|
|
|
import (
|
2024-07-27 13:29:26 +08:00
|
|
|
"testing"
|
|
|
|
|
|
2022-10-24 10:21:13 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
|
|
|
|
|
"github.com/iwind/TeaGo/assert"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestReferersConfig_MatchDomain(t *testing.T) {
|
|
|
|
|
var a = assert.NewAssertion(t)
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
var config = &serverconfigs.ReferersConfig{
|
|
|
|
|
IsOn: true,
|
|
|
|
|
AllowDomains: []string{},
|
|
|
|
|
DenyDomains: []string{"a.com", "b.com"},
|
|
|
|
|
}
|
|
|
|
|
a.IsTrue(config.MatchDomain("example.com", "c.com"))
|
|
|
|
|
a.IsTrue(config.MatchDomain("example.com", "d.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "a.com"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
var config = &serverconfigs.ReferersConfig{
|
|
|
|
|
IsOn: true,
|
|
|
|
|
AllowDomains: []string{"c.com", "e.com"},
|
|
|
|
|
DenyDomains: []string{"a.com", "b.com", "e.com"},
|
|
|
|
|
}
|
|
|
|
|
a.IsTrue(config.MatchDomain("example.com", "c.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "d.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "e.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "a.com"))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
var config = &serverconfigs.ReferersConfig{
|
|
|
|
|
IsOn: true,
|
|
|
|
|
AllowDomains: []string{"c.com", "e.com"},
|
|
|
|
|
DenyDomains: []string{},
|
|
|
|
|
}
|
|
|
|
|
a.IsTrue(config.MatchDomain("example.com", "c.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "d.com"))
|
|
|
|
|
a.IsTrue(config.MatchDomain("example.com", "e.com"))
|
|
|
|
|
a.IsFalse(config.MatchDomain("example.com", "a.com"))
|
|
|
|
|
}
|
|
|
|
|
}
|