mirror of
https://github.com/aler9/rtsp-simple-server
synced 2025-10-05 15:46:58 +08:00
84 lines
1.4 KiB
Go
84 lines
1.4 KiB
Go
package httpp
|
|
|
|
import (
|
|
"net/http"
|
|
"net/url"
|
|
"testing"
|
|
|
|
"github.com/bluenviron/mediamtx/internal/auth"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCredentials(t *testing.T) {
|
|
t.Run("user and pass in basic", func(t *testing.T) {
|
|
h := &http.Request{
|
|
URL: &url.URL{},
|
|
Header: http.Header{
|
|
"Authorization": []string{
|
|
"Basic bXl1c2VyOm15cGFzcw==",
|
|
},
|
|
},
|
|
}
|
|
|
|
c := Credentials(h)
|
|
|
|
require.Equal(t, &auth.Credentials{
|
|
User: "myuser",
|
|
Pass: "mypass",
|
|
}, c)
|
|
})
|
|
|
|
t.Run("user and pass in bearer", func(t *testing.T) {
|
|
h := &http.Request{
|
|
URL: &url.URL{},
|
|
Header: http.Header{
|
|
"Authorization": []string{
|
|
"Bearer myuser:mypass",
|
|
},
|
|
},
|
|
}
|
|
|
|
c := Credentials(h)
|
|
|
|
require.Equal(t, &auth.Credentials{
|
|
User: "myuser",
|
|
Pass: "mypass",
|
|
}, c)
|
|
})
|
|
|
|
t.Run("token in bearer", func(t *testing.T) {
|
|
h := &http.Request{
|
|
URL: &url.URL{},
|
|
Header: http.Header{
|
|
"Authorization": []string{
|
|
"Bearer testing123",
|
|
},
|
|
},
|
|
}
|
|
|
|
c := Credentials(h)
|
|
|
|
require.Equal(t, &auth.Credentials{
|
|
Token: "testing123",
|
|
}, c)
|
|
})
|
|
|
|
t.Run("user and pass and token", func(t *testing.T) {
|
|
h := &http.Request{
|
|
URL: &url.URL{},
|
|
Header: http.Header{
|
|
"Authorization": []string{
|
|
"Basic bXl1c2VyOm15cGFzcw==",
|
|
"Bearer testing123",
|
|
},
|
|
},
|
|
}
|
|
|
|
c := Credentials(h)
|
|
|
|
require.Equal(t, &auth.Credentials{
|
|
Token: "testing123",
|
|
}, c)
|
|
})
|
|
}
|