Initial commit

This commit is contained in:
Ian Gulliver
2023-04-20 16:32:17 +00:00
parent 5ad510ad74
commit 190db9cc73
6 changed files with 140 additions and 0 deletions

39
authorization_test.go Normal file
View File

@@ -0,0 +1,39 @@
package header_test
import (
"net/http"
"testing"
"github.com/gopatchy/header"
"github.com/stretchr/testify/require"
)
func TestParseAuthorization(t *testing.T) {
t.Parallel()
req, err := http.NewRequest(http.MethodGet, "/foo", nil)
require.NoError(t, err)
req.Header.Add("Authorization", "Bearer xyz")
typ, val := header.ParseAuthorization(req)
require.Equal(t, "Bearer", typ)
require.Equal(t, "xyz", val)
}
func TestParseBasic(t *testing.T) {
t.Parallel()
req, err := http.NewRequest(http.MethodGet, "/foo", nil) //nolint:noctx
require.NoError(t, err)
req.Header.Add("Authorization", "Basic YWxhZGRpbjpvcGVuc2VzYW1l")
typ, val := header.ParseAuthorization(req)
require.Equal(t, "Basic", typ)
user, pass, err := header.ParseBasic(val)
require.NoError(t, err)
require.Equal(t, "aladdin", user)
require.Equal(t, "opensesame", pass)
}