2021-10-06 11:42:52 +08:00
|
|
|
// Copyright 2021 Liuxiangchao iwind.liu@gmail.com. All rights reserved.
|
|
|
|
|
|
|
|
|
|
package serverconfigs
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/iwind/TeaGo/assert"
|
|
|
|
|
"testing"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestHTTPRemoteAddrConfig_IsEmpty(t *testing.T) {
|
2023-09-17 19:14:28 +08:00
|
|
|
var a = assert.NewAssertion(t)
|
2021-10-06 11:42:52 +08:00
|
|
|
|
|
|
|
|
{
|
|
|
|
|
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())
|
|
|
|
|
}
|
|
|
|
|
}
|
2023-09-17 19:14:28 +08:00
|
|
|
|
|
|
|
|
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())
|
|
|
|
|
}
|
|
|
|
|
}
|