add benchmark (#3433)

* add benchmark

* add benchmark github action

* commit

* permissions
This commit is contained in:
Caleb Doxsey 2022-06-17 15:52:35 -06:00 committed by GitHub
parent 1134244075
commit 64def90532
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 111 additions and 0 deletions

View file

@ -0,0 +1,43 @@
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()
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, "GET", "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.ResetTimer()
for i := 0; i < b.N; i++ {
req, err := http.NewRequestWithContext(ctx, "GET", "https://httpdetails.localhost.pomerium.io/by-domain", nil)
require.NoError(b, err)
res, err := client.Do(req)
require.NoError(b, err)
res.Body.Close()
}
}