Initial cloud-services repo - gateway service + pkg modules
This commit is contained in:
66
pkg/httphandlers/swagger_docs_handler_test.go
Normal file
66
pkg/httphandlers/swagger_docs_handler_test.go
Normal file
@@ -0,0 +1,66 @@
|
||||
package httphandlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
|
||||
"fiskerinc.com/modules/testhelper"
|
||||
)
|
||||
|
||||
const expectedRedirectURL = "/docs/index.html"
|
||||
const expectedNoRedirectURL = ""
|
||||
|
||||
func TestSwaggerDocsRedirect(t *testing.T) {
|
||||
type test struct {
|
||||
name string
|
||||
request *http.Request
|
||||
expectedRedirect string
|
||||
}
|
||||
|
||||
tests := []test{
|
||||
{
|
||||
name: "Redirect to index.html",
|
||||
request: makeRequest("http://test.com/docs"),
|
||||
expectedRedirect: expectedRedirectURL,
|
||||
},
|
||||
{
|
||||
name: "/ Redirect to index.html",
|
||||
request: makeRequest("http://test.com/docs/"),
|
||||
expectedRedirect: expectedRedirectURL,
|
||||
},
|
||||
{
|
||||
name: "Requests index.html, no redirect",
|
||||
request: makeRequest("http://test.com/docs/index.html"),
|
||||
expectedRedirect: expectedNoRedirectURL,
|
||||
},
|
||||
{
|
||||
name: "Requests .js, no redirect",
|
||||
request: makeRequest("http://test.com/docs/index.js"),
|
||||
expectedRedirect: expectedNoRedirectURL,
|
||||
},
|
||||
{
|
||||
name: "Requests .css, no redirect",
|
||||
request: makeRequest("http://test.com/docs/index.css"),
|
||||
expectedRedirect: expectedNoRedirectURL,
|
||||
},
|
||||
{
|
||||
name: "Requests .json, no redirect",
|
||||
request: makeRequest("http://test.com/docs/index.json"),
|
||||
expectedRedirect: expectedNoRedirectURL,
|
||||
},
|
||||
}
|
||||
|
||||
for _, item := range tests {
|
||||
path := shouldRedirect(item.request)
|
||||
|
||||
if path != item.expectedRedirect {
|
||||
t.Errorf(testhelper.TestErrorTemplate, item.name, item.expectedRedirect, path)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func makeRequest(url string) *http.Request {
|
||||
request, _ := http.NewRequest(http.MethodGet, url, nil)
|
||||
request.RequestURI = url
|
||||
return request
|
||||
}
|
||||
Reference in New Issue
Block a user