summaryrefslogtreecommitdiff
path: root/internal/util/namestring_test.go
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2024-01-26 14:17:10 +0100
committerLibravatar GitHub <noreply@github.com>2024-01-26 14:17:10 +0100
commite3052e8c825da699162ea25367e860ac3c66f461 (patch)
tree3d13e83413d4a85ab694034d6c9772f9ec64268a /internal/util/namestring_test.go
parent[performance] cache library performance enhancements (updates go-structr => v... (diff)
downloadgotosocial-e3052e8c825da699162ea25367e860ac3c66f461.tar.xz
[bugfix] Don't return Account or Status if new and dereferencing failed, other small fixes (#2563)
* tidy up account, status, webfingering logic a wee bit * go fmt * invert published check * alter resp initialization * get Published from account in typeutils * don't instantiate error for no darn good reason * shadow err * don't repeat error codes in wrapped errors * don't wrap error unnecessarily
Diffstat (limited to 'internal/util/namestring_test.go')
-rw-r--r--internal/util/namestring_test.go50
1 files changed, 14 insertions, 36 deletions
diff --git a/internal/util/namestring_test.go b/internal/util/namestring_test.go
index 09beaeb8a..2ce5af65c 100644
--- a/internal/util/namestring_test.go
+++ b/internal/util/namestring_test.go
@@ -18,7 +18,6 @@
package util_test
import (
- "net/url"
"testing"
"github.com/stretchr/testify/suite"
@@ -39,44 +38,22 @@ func (suite *NamestringSuite) TestExtractWebfingerParts() {
{in: "stonerkitty.monster@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
{in: "stonerkitty.monster@stonerkitty.monster:8080", username: "stonerkitty.monster", domain: "stonerkitty.monster:8080"},
{in: "@stonerkitty.monster@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
- {in: "acct:@@stonerkitty.monster@stonerkitty.monster", err: "failed to extract user and domain from: acct:@@stonerkitty.monster@stonerkitty.monster"},
- {in: "acct:@stonerkitty.monster@@stonerkitty.monster", err: "failed to extract user and domain from: acct:@stonerkitty.monster@@stonerkitty.monster"},
- {in: "@@stonerkitty.monster@stonerkitty.monster", err: "failed to extract user and domain from: @@stonerkitty.monster@stonerkitty.monster"},
- {in: "@stonerkitty.monster@@stonerkitty.monster", err: "failed to extract user and domain from: @stonerkitty.monster@@stonerkitty.monster"},
- {in: "s3:stonerkitty.monster@stonerkitty.monster", err: "unsupported scheme: s3 for resource: s3:stonerkitty.monster@stonerkitty.monster"},
- }
-
- for _, tt := range tests {
- tt := tt
- suite.Run(tt.in, func() {
- suite.T().Parallel()
- username, domain, err := util.ExtractWebfingerParts(tt.in)
- if tt.err == "" {
- suite.NoError(err)
- suite.Equal(tt.username, username)
- suite.Equal(tt.domain, domain)
- } else {
- suite.EqualError(err, tt.err)
- }
- })
- }
-}
-
-func (suite *NamestringSuite) TestExtractWebfingerPartsFromURI() {
- tests := []struct {
- in, username, domain, err string
- }{
+ {in: "acct:@@stonerkitty.monster@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
+ {in: "acct:@stonerkitty.monster@@stonerkitty.monster", err: "couldn't match namestring @stonerkitty.monster@@stonerkitty.monster"},
+ {in: "@@stonerkitty.monster@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
+ {in: "@stonerkitty.monster@@stonerkitty.monster", err: "couldn't match namestring @stonerkitty.monster@@stonerkitty.monster"},
+ {in: "s3:stonerkitty.monster@stonerkitty.monster", err: "unsupported scheme s3 for resource s3:stonerkitty.monster@stonerkitty.monster"},
{in: "https://stonerkitty.monster/users/stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
{in: "https://stonerkitty.monster/users/@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
{in: "https://stonerkitty.monster/@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
- {in: "https://stonerkitty.monster/@@stonerkitty.monster", username: "@stonerkitty.monster", domain: "stonerkitty.monster"},
+ {in: "https://stonerkitty.monster/@@stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
{in: "https://stonerkitty.monster:8080/users/stonerkitty.monster", username: "stonerkitty.monster", domain: "stonerkitty.monster:8080"},
{in: "https://stonerkitty.monster/users/stonerkitty.monster/evil", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
{in: "https://stonerkitty.monster/@stonerkitty.monster/evil", username: "stonerkitty.monster", domain: "stonerkitty.monster"},
- {in: "/@stonerkitty.monster", err: "failed to extract domain from: /@stonerkitty.monster"},
- {in: "/users/stonerkitty.monster", err: "failed to extract domain from: /users/stonerkitty.monster"},
+ {in: "/@stonerkitty.monster", err: "no scheme for resource /@stonerkitty.monster"},
+ {in: "/users/stonerkitty.monster", err: "no scheme for resource /users/stonerkitty.monster"},
{in: "@stonerkitty.monster", err: "failed to extract domain from: @stonerkitty.monster"},
- {in: "users/stonerkitty.monster", err: "failed to extract domain from: users/stonerkitty.monster"},
+ {in: "users/stonerkitty.monster", err: "couldn't match namestring @users/stonerkitty.monster"},
{in: "https://stonerkitty.monster/users/", err: "failed to extract username from: https://stonerkitty.monster/users/"},
{in: "https://stonerkitty.monster/users/@", err: "failed to extract username from: https://stonerkitty.monster/users/@"},
{in: "https://stonerkitty.monster/@", err: "failed to extract username from: https://stonerkitty.monster/@"},
@@ -87,14 +64,15 @@ func (suite *NamestringSuite) TestExtractWebfingerPartsFromURI() {
tt := tt
suite.Run(tt.in, func() {
suite.T().Parallel()
- uri, _ := url.Parse(tt.in)
- username, domain, err := util.ExtractWebfingerPartsFromURI(uri)
+ username, domain, err := util.ExtractWebfingerParts(tt.in)
if tt.err == "" {
suite.NoError(err)
suite.Equal(tt.username, username)
suite.Equal(tt.domain, domain)
} else {
- suite.EqualError(err, tt.err)
+ if !suite.EqualError(err, tt.err) {
+ suite.T().Logf("expected error %s", tt.err)
+ }
}
})
}
@@ -107,7 +85,7 @@ func (suite *NamestringSuite) TestExtractNamestring() {
{in: "@stonerkitty.monster@stonerkitty.monster", username: "stonerkitty.monster", host: "stonerkitty.monster"},
{in: "@stonerkitty.monster", username: "stonerkitty.monster"},
{in: "@someone@somewhere", username: "someone", host: "somewhere"},
- {in: "", err: "couldn't match mention "},
+ {in: "", err: "couldn't match namestring "},
}
for _, tt := range tests {