mirror of
https://github.com/datarhei/core.git
synced 2025-10-05 16:07:07 +08:00

The gops agent can be enabled by providing an address to CORE_DEBUG_AGENT_ADDRESS where it will listen to requests from the gops utility.
176 lines
3.8 KiB
Go
176 lines
3.8 KiB
Go
package value
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestAddressValue(t *testing.T) {
|
|
var x string
|
|
|
|
val := NewAddress(&x, ":8080")
|
|
|
|
require.Equal(t, ":8080", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = "foobaz:9090"
|
|
|
|
require.Equal(t, "foobaz:9090", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("fooboz:7070")
|
|
|
|
require.Equal(t, "fooboz:7070", x)
|
|
|
|
val.Set("")
|
|
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
}
|
|
|
|
func TestMustAddressValue(t *testing.T) {
|
|
var x string
|
|
|
|
val := NewMustAddress(&x, ":8080")
|
|
|
|
require.Equal(t, ":8080", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = "foobaz:9090"
|
|
|
|
require.Equal(t, "foobaz:9090", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("fooboz:7070")
|
|
|
|
require.Equal(t, "fooboz:7070", x)
|
|
}
|
|
|
|
func TestFullAddressValue(t *testing.T) {
|
|
var x string
|
|
|
|
val := NewFullAddress(&x, "foobar:8080")
|
|
|
|
require.Equal(t, "foobar:8080", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = "foobaz:9090"
|
|
|
|
require.Equal(t, "foobaz:9090", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("fooboz:7070")
|
|
|
|
require.Equal(t, "fooboz:7070", x)
|
|
|
|
err := val.Set(":7070")
|
|
require.Error(t, err)
|
|
}
|
|
|
|
func TestCIDRListValue(t *testing.T) {
|
|
var x []string
|
|
|
|
val := NewCIDRList(&x, []string{}, " ")
|
|
|
|
require.Equal(t, "(empty)", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, true, val.IsEmpty())
|
|
|
|
x = []string{"127.0.0.1/32", "127.0.0.2/32"}
|
|
|
|
require.Equal(t, "127.0.0.1/32 127.0.0.2/32", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("129.0.0.1/32 129.0.0.2/32")
|
|
|
|
require.Equal(t, []string{"129.0.0.1/32", "129.0.0.2/32"}, x)
|
|
}
|
|
|
|
func TestCORSOriginaValue(t *testing.T) {
|
|
var x []string
|
|
|
|
val := NewCORSOrigins(&x, []string{}, " ")
|
|
|
|
require.Equal(t, "(empty)", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, true, val.IsEmpty())
|
|
|
|
x = []string{"*"}
|
|
|
|
require.Equal(t, "*", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("http://localhost")
|
|
|
|
require.Equal(t, []string{"http://localhost"}, x)
|
|
}
|
|
|
|
func TestPortValue(t *testing.T) {
|
|
var x int
|
|
|
|
val := NewPort(&x, 11)
|
|
|
|
require.Equal(t, "11", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = 42
|
|
|
|
require.Equal(t, "42", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("77")
|
|
|
|
require.Equal(t, int(77), x)
|
|
}
|
|
|
|
func TestURLValue(t *testing.T) {
|
|
var x string
|
|
|
|
val := NewURL(&x, "http://localhost/foobar")
|
|
|
|
require.Equal(t, "http://localhost/foobar", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = "http://localhost:8080/foobar"
|
|
|
|
require.Equal(t, "http://localhost:8080/foobar", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("http://localhost:8080/fooboz/foobaz")
|
|
|
|
require.Equal(t, "http://localhost:8080/fooboz/foobaz", x)
|
|
}
|
|
|
|
func TestEmailValue(t *testing.T) {
|
|
var x string
|
|
|
|
val := NewEmail(&x, "foobar@example.com")
|
|
|
|
require.Equal(t, "foobar@example.com", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
x = "foobar+baz@example.com"
|
|
|
|
require.Equal(t, "foobar+baz@example.com", val.String())
|
|
require.Equal(t, nil, val.Validate())
|
|
require.Equal(t, false, val.IsEmpty())
|
|
|
|
val.Set("foobar@sub.example.com")
|
|
|
|
require.Equal(t, "foobar@sub.example.com", x)
|
|
}
|