summaryrefslogtreecommitdiff
path: root/internal/handlers/handler_authz_misc_test.go
blob: ad57c21b2cc608758aed0f05a93a6e0753d7f0e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package handlers

import (
	"testing"

	"github.com/stretchr/testify/assert"
	"github.com/valyala/fasthttp"

	"github.com/authelia/authelia/v4/internal/authentication"
	"github.com/authelia/authelia/v4/internal/mocks"
	"github.com/authelia/authelia/v4/internal/session"
)

func TestAuthzImplementation(t *testing.T) {
	assert.Equal(t, "Legacy", AuthzImplLegacy.String())
	assert.Equal(t, "", AuthzImplementation(-1).String())
}

func TestFriendlyMethod(t *testing.T) {
	assert.Equal(t, "unknown", friendlyMethod(""))
	assert.Equal(t, "GET", friendlyMethod(fasthttp.MethodGet))
}

func TestGenerateVerifySessionHasUpToDateProfileTraceLogs(t *testing.T) {
	mock := mocks.NewMockAutheliaCtx(t)

	generateVerifySessionHasUpToDateProfileTraceLogs(mock.Ctx, &session.UserSession{Username: "john", DisplayName: "example", Groups: []string{"abc"}, Emails: []string{"user@example.com", "test@example.com"}}, &authentication.UserDetails{Username: "john", Groups: []string{"123"}, DisplayName: "notexample", Emails: []string{"notuser@example.com"}})
	generateVerifySessionHasUpToDateProfileTraceLogs(mock.Ctx, &session.UserSession{Username: "john", DisplayName: "example"}, &authentication.UserDetails{Username: "john", DisplayName: "example"})
	generateVerifySessionHasUpToDateProfileTraceLogs(mock.Ctx, &session.UserSession{Username: "john", DisplayName: "example", Emails: []string{"abc@example.com"}}, &authentication.UserDetails{Username: "john", DisplayName: "example"})
	generateVerifySessionHasUpToDateProfileTraceLogs(mock.Ctx, &session.UserSession{Username: "john", DisplayName: "example"}, &authentication.UserDetails{Username: "john", DisplayName: "example", Emails: []string{"abc@example.com"}})
}