pomerium/integration/benchmark_test.go
Caleb Doxsey 5d69b925be
HTTP/3 Support (#5349)
* wip

* http3 support

* add integration test

* move some quic code

* fix codec type

* casing

* add alt-svc header

* add quic unit test
2024-11-19 08:48:30 -07:00

43 lines
1.1 KiB
Go

package main
import (
"context"
"net/http"
"testing"
"github.com/stretchr/testify/require"
"github.com/pomerium/pomerium/integration/flows"
)
func BenchmarkLoggedInUserAccess(b *testing.B) {
ctx := context.Background()
client := getClient(b, false)
res, err := flows.Authenticate(ctx, client, mustParseURL("https://httpdetails.localhost.pomerium.io/by-domain"),
flows.WithEmail("user1@dogs.test"))
require.NoError(b, err)
_ = res.Body.Close()
b.ResetTimer()
for i := 0; i < b.N; i++ {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, "https://httpdetails.localhost.pomerium.io/by-domain", nil)
require.NoError(b, err)
res, err := client.Do(req)
require.NoError(b, err)
res.Body.Close()
}
}
func BenchmarkLoggedOutUserAccess(b *testing.B) {
ctx := context.Background()
client := getClient(b, false)
b.ResetTimer()
for i := 0; i < b.N; i++ {
req, err := http.NewRequestWithContext(ctx, http.MethodGet, "https://httpdetails.localhost.pomerium.io/by-domain", nil)
require.NoError(b, err)
res, err := client.Do(req)
require.NoError(b, err)
res.Body.Close()
}
}