mirror of
https://github.com/Maronato/go-finger.git
synced 2025-03-15 00:34:47 +00:00
60 lines
1.1 KiB
Go
60 lines
1.1 KiB
Go
package main_test
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
finger "git.maronato.dev/maronato/finger"
|
|
)
|
|
|
|
func BenchmarkGetWebfinger(b *testing.B) {
|
|
ctx := context.Background()
|
|
cfg := &finger.Config{}
|
|
l := finger.NewLogger(cfg)
|
|
|
|
ctx = finger.WithLogger(ctx, l)
|
|
resource := "acct:user@example.com"
|
|
webmap := finger.WebFingerMap{
|
|
resource: {
|
|
Subject: resource,
|
|
Links: []finger.Link{
|
|
{
|
|
Rel: "http://webfinger.net/rel/avatar",
|
|
Href: "https://example.com/avatar.png",
|
|
},
|
|
},
|
|
Properties: map[string]string{
|
|
"example": "value",
|
|
},
|
|
},
|
|
"acct:other": {
|
|
Subject: "acct:other",
|
|
Links: []finger.Link{
|
|
{
|
|
Rel: "http://webfinger.net/rel/avatar",
|
|
Href: "https://example.com/avatar.png",
|
|
},
|
|
},
|
|
Properties: map[string]string{
|
|
"example": "value",
|
|
},
|
|
},
|
|
}
|
|
|
|
handler := finger.WebfingerHandler(&finger.Config{}, webmap)
|
|
|
|
r, _ := http.NewRequestWithContext(
|
|
ctx,
|
|
http.MethodGet,
|
|
fmt.Sprintf("/.well-known/webfinger?resource=%s", resource),
|
|
http.NoBody,
|
|
)
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
w := httptest.NewRecorder()
|
|
handler.ServeHTTP(w, r)
|
|
}
|
|
}
|