From 6f5edbaa438fe473cc865e283bb3fd32de231c44 Mon Sep 17 00:00:00 2001 From: Benjamin Steinwender Date: Tue, 18 Jan 2022 09:31:01 +0100 Subject: [PATCH] Fix alias generation (#294) * added test * fix missing domain --- internal/network/interface.go | 1 + web/handlers/aliases_test.go | 27 +++++++++++++++++++++++++++ web/handlers/setup_test.go | 2 ++ 3 files changed, 30 insertions(+) diff --git a/internal/network/interface.go b/internal/network/interface.go index b389d07..f15f403 100644 --- a/internal/network/interface.go +++ b/internal/network/interface.go @@ -55,6 +55,7 @@ func (sed ServerEndpointDetails) URLForAlias(a string) string { if sed.UseSubdomainForAliases { u.Host = a + "." + sed.Domain } else { + u.Host = sed.Domain u.Path = "/alias/" + a } diff --git a/web/handlers/aliases_test.go b/web/handlers/aliases_test.go index 133de81..b44ef7f 100644 --- a/web/handlers/aliases_test.go +++ b/web/handlers/aliases_test.go @@ -8,6 +8,7 @@ import ( "bytes" "encoding/base64" "encoding/json" + "fmt" "net/http" "net/url" "testing" @@ -15,6 +16,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "github.com/ssb-ngi-pointer/go-ssb-room/v2/internal/network" + "github.com/ssb-ngi-pointer/go-ssb-room/v2/internal/randutil" "github.com/ssb-ngi-pointer/go-ssb-room/v2/roomdb" "github.com/ssb-ngi-pointer/go-ssb-room/v2/web/router" refs "go.mindeco.de/ssb-refs" @@ -160,3 +163,27 @@ func TestAliasResolveOnAndroidChrome(t *testing.T) { frag := aliasURI.Fragment a.Equal("Intent;scheme=ssb;end;", frag) } + +func TestURLForAlias(t *testing.T) { + ts := setup(t) + + a := assert.New(t) + + ts.netInfo = network.ServerEndpointDetails{ + Domain: randutil.String(10), + + UseSubdomainForAliases: true, + } + + // test subdomain alias URLs + generatedURL := ts.netInfo.URLForAlias("dummy") + expectedURL := fmt.Sprintf("https://dummy.%s", ts.netInfo.Domain) + a.Equal(expectedURL, generatedURL) + + // test alias URLs using /alias/-path + ts.netInfo.UseSubdomainForAliases = false + + generatedURL = ts.netInfo.URLForAlias("dummy") + expectedURL = fmt.Sprintf("https://%s/alias/dummy", ts.netInfo.Domain) + a.Equal(expectedURL, generatedURL) +} diff --git a/web/handlers/setup_test.go b/web/handlers/setup_test.go index cbcb742..cd323ff 100644 --- a/web/handlers/setup_test.go +++ b/web/handlers/setup_test.go @@ -33,6 +33,8 @@ type testSession struct { Client *tester.Tester URLTo web.URLMaker + netInfo network.ServerEndpointDetails + // mocked dbs AuthDB *mockdb.FakeAuthWithSSBService AuthFallbackDB *mockdb.FakeAuthFallbackService