Files
EdgeCommon/pkg/serverconfigs/http_remote_addr_config_test.go
2024-05-17 18:28:59 +08:00

66 lines
1.2 KiB
Go

// Copyright 2021 GoEdge CDN goedge.cdn@gmail.com. All rights reserved.
package serverconfigs
import (
"github.com/iwind/TeaGo/assert"
"testing"
)
func TestHTTPRemoteAddrConfig_IsEmpty(t *testing.T) {
var a = assert.NewAssertion(t)
{
var config = &HTTPRemoteAddrConfig{}
err := config.Init()
if err != nil {
t.Fatal(err)
}
a.IsTrue(config.IsEmpty())
}
{
var config = &HTTPRemoteAddrConfig{
Value: "${remoteAddr}",
}
err := config.Init()
if err != nil {
t.Fatal(err)
}
a.IsTrue(config.IsEmpty())
}
{
var config = &HTTPRemoteAddrConfig{
Value: "${ remoteAddr }",
}
err := config.Init()
if err != nil {
t.Fatal(err)
}
a.IsTrue(config.IsEmpty())
}
{
var config = &HTTPRemoteAddrConfig{
Value: "[${remoteAddr}]",
}
err := config.Init()
if err != nil {
t.Fatal(err)
}
a.IsFalse(config.IsEmpty())
}
}
func TestHTTPRemoteAddrConfig_Values(t *testing.T) {
for _, value := range []string{"${remoteAddr}", "${header.x-real-ip}", "${header.x-client-ip,x-real-ip,x-forwarded-for}"} {
var config = &HTTPRemoteAddrConfig{Value: value}
err := config.Init()
if err != nil {
t.Fatal(err)
}
t.Log(value, "=>", config.Values())
}
}