2025-01-29 16:22:41 +01:00
|
|
|
package bearer
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"net/http"
|
|
|
|
|
"testing"
|
|
|
|
|
|
2026-01-08 15:46:01 -05:00
|
|
|
_ "code.sonr.org/go/did-it/verifiers/did-key"
|
2025-01-29 16:22:41 +01:00
|
|
|
"github.com/stretchr/testify/require"
|
2025-08-05 12:11:20 +02:00
|
|
|
|
2026-01-08 15:46:01 -05:00
|
|
|
"code.sonr.org/go/ucan/pkg/container"
|
|
|
|
|
"code.sonr.org/go/ucan/pkg/container/containertest"
|
2025-01-29 16:22:41 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestHTTPBearer(t *testing.T) {
|
|
|
|
|
for _, fn := range []func(h http.Header, container container.Writer) error{
|
|
|
|
|
AddBearerContainer,
|
|
|
|
|
AddBearerContainerCompressed,
|
|
|
|
|
} {
|
|
|
|
|
r, err := http.NewRequest(http.MethodPost, "/foo/bar", nil)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
cont, err := container.FromBytes(containertest.Bytes)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
err = fn(r.Header, cont.ToWriter())
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
contRead, err := ExtractBearerContainer(r.Header)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
require.NotEmpty(t, contRead)
|
|
|
|
|
require.Equal(t, cont, contRead)
|
|
|
|
|
}
|
|
|
|
|
}
|