2019-04-24 21:52:08 +00:00
|
|
|
package middlewares_test
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
2019-12-24 02:14:52 +00:00
|
|
|
"github.com/authelia/authelia/internal/session"
|
2019-04-24 21:52:08 +00:00
|
|
|
|
2019-12-24 02:14:52 +00:00
|
|
|
"github.com/authelia/authelia/internal/configuration/schema"
|
|
|
|
"github.com/authelia/authelia/internal/middlewares"
|
|
|
|
"github.com/authelia/authelia/internal/mocks"
|
2019-04-24 21:52:08 +00:00
|
|
|
"github.com/golang/mock/gomock"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/valyala/fasthttp"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestShouldCallNextWithAutheliaCtx(t *testing.T) {
|
|
|
|
ctrl := gomock.NewController(t)
|
|
|
|
ctx := &fasthttp.RequestCtx{}
|
|
|
|
configuration := schema.Configuration{}
|
|
|
|
userProvider := mocks.NewMockUserProvider(ctrl)
|
|
|
|
sessionProvider := session.NewProvider(configuration.Session)
|
|
|
|
providers := middlewares.Providers{
|
|
|
|
UserProvider: userProvider,
|
|
|
|
SessionProvider: sessionProvider,
|
|
|
|
}
|
|
|
|
nextCalled := false
|
|
|
|
|
|
|
|
middlewares.AutheliaMiddleware(configuration, providers)(func(actx *middlewares.AutheliaCtx) {
|
|
|
|
// Authelia context wraps the request.
|
|
|
|
assert.Equal(t, ctx, actx.RequestCtx)
|
|
|
|
nextCalled = true
|
|
|
|
})(ctx)
|
|
|
|
|
|
|
|
assert.True(t, nextCalled)
|
|
|
|
}
|