mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-02 14:56:38 +08:00
39 lines
1.2 KiB
Go
39 lines
1.2 KiB
Go
// Copyright 2026 Arctel.net
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package routeidentity
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/Rain-kl/Wavelet/internal/model"
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestDecodeDomainsNormalizesCaseAndOrder(t *testing.T) {
|
|
domains, err := DecodeDomains(`["WWW.Example.COM","example.com"]`, "fallback.example.com")
|
|
require.NoError(t, err)
|
|
assert.Equal(t, []string{"www.example.com", "example.com"}, domains)
|
|
}
|
|
|
|
func TestResolveSiteNamePrefersExplicitValue(t *testing.T) {
|
|
route := &model.ProxyRoute{SiteName: "stored-name", Domain: "example.com"}
|
|
assert.Equal(t, "custom", ResolveSiteName(route, "custom", "example.com"))
|
|
assert.Equal(t, "stored-name", ResolveSiteName(route, "", "example.com"))
|
|
|
|
routeWithoutSiteName := &model.ProxyRoute{Domain: "example.com"}
|
|
assert.Equal(t, "example.com", ResolveSiteName(routeWithoutSiteName, "", "example.com"))
|
|
}
|
|
|
|
func TestResolveFromRoute(t *testing.T) {
|
|
route := &model.ProxyRoute{
|
|
Domain: "Example.COM",
|
|
Domains: `["example.com","www.example.com"]`,
|
|
}
|
|
siteName, domains, err := ResolveFromRoute(route)
|
|
require.NoError(t, err)
|
|
assert.Equal(t, "example.com", siteName)
|
|
assert.Equal(t, []string{"example.com", "www.example.com"}, domains)
|
|
}
|