mirror of https://github.com/docker/docs.git
76 lines
1.6 KiB
Go
76 lines
1.6 KiB
Go
package main
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestTokenAuth(t *testing.T) {
|
|
var (
|
|
readOnly bool
|
|
baseTransport = &http.Transport{}
|
|
gun = "test"
|
|
)
|
|
auth, err := tokenAuth("https://localhost:9999", baseTransport, gun, readOnly)
|
|
require.NoError(t, err)
|
|
require.Nil(t, auth)
|
|
}
|
|
|
|
func StatusOKTestHandler(w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(200)
|
|
w.Write([]byte("{}"))
|
|
}
|
|
|
|
func TestTokenAuth200Status(t *testing.T) {
|
|
var (
|
|
readOnly bool
|
|
baseTransport = &http.Transport{}
|
|
gun = "test"
|
|
)
|
|
s := httptest.NewServer(http.HandlerFunc(NotAuthorizedTestHandler))
|
|
defer s.Close()
|
|
|
|
auth, err := tokenAuth(s.URL, baseTransport, gun, readOnly)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, auth)
|
|
}
|
|
|
|
func NotAuthorizedTestHandler(w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(401)
|
|
}
|
|
|
|
func TestTokenAuth401Status(t *testing.T) {
|
|
var (
|
|
readOnly bool
|
|
baseTransport = &http.Transport{}
|
|
gun = "test"
|
|
)
|
|
s := httptest.NewServer(http.HandlerFunc(NotAuthorizedTestHandler))
|
|
defer s.Close()
|
|
|
|
auth, err := tokenAuth(s.URL, baseTransport, gun, readOnly)
|
|
require.NoError(t, err)
|
|
require.NotNil(t, auth)
|
|
}
|
|
|
|
func NotFoundTestHandler(w http.ResponseWriter, r *http.Request) {
|
|
w.WriteHeader(404)
|
|
}
|
|
|
|
func TestTokenAuthNon200Non401Status(t *testing.T) {
|
|
var (
|
|
readOnly bool
|
|
baseTransport = &http.Transport{}
|
|
gun = "test"
|
|
)
|
|
s := httptest.NewServer(http.HandlerFunc(NotFoundTestHandler))
|
|
defer s.Close()
|
|
|
|
auth, err := tokenAuth(s.URL, baseTransport, gun, readOnly)
|
|
require.NoError(t, err)
|
|
require.Nil(t, auth)
|
|
}
|