2020-02-13 02:12:37 +00:00
|
|
|
package handlers
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/stretchr/testify/suite"
|
2020-04-05 12:37:21 +00:00
|
|
|
|
2021-08-11 01:04:35 +00:00
|
|
|
"github.com/authelia/authelia/v4/internal/mocks"
|
2020-02-13 02:12:37 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
type HandlerSignU2FStep1Suite struct {
|
|
|
|
suite.Suite
|
|
|
|
|
|
|
|
mock *mocks.MockAutheliaCtx
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *HandlerSignU2FStep1Suite) SetupTest() {
|
|
|
|
s.mock = mocks.NewMockAutheliaCtx(s.T())
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *HandlerSignU2FStep1Suite) TearDownTest() {
|
|
|
|
s.mock.Close()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (s *HandlerSignU2FStep1Suite) TestShouldRaiseWhenXForwardedProtoIsMissing() {
|
|
|
|
SecondFactorU2FSignGet(s.mock.Ctx)
|
|
|
|
|
|
|
|
assert.Equal(s.T(), 200, s.mock.Ctx.Response.StatusCode())
|
2020-08-21 01:15:20 +00:00
|
|
|
assert.Equal(s.T(), "Missing header X-Forwarded-Proto", s.mock.Hook.LastEntry().Message)
|
2020-02-13 02:12:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (s *HandlerSignU2FStep1Suite) TestShouldRaiseWhenXForwardedHostIsMissing() {
|
|
|
|
s.mock.Ctx.Request.Header.Add("X-Forwarded-Proto", "http")
|
|
|
|
SecondFactorU2FSignGet(s.mock.Ctx)
|
|
|
|
|
|
|
|
assert.Equal(s.T(), 200, s.mock.Ctx.Response.StatusCode())
|
2020-08-21 01:15:20 +00:00
|
|
|
assert.Equal(s.T(), "Missing header X-Forwarded-Host", s.mock.Hook.LastEntry().Message)
|
2020-02-13 02:12:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func TestShouldRunHandlerSignU2FStep1Suite(t *testing.T) {
|
|
|
|
suite.Run(t, new(HandlerSignU2FStep1Suite))
|
|
|
|
}
|