Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Legner <markus.legner@siemens.com>2021-11-16 13:32:51 +0300
committerMarkus Legner <markus.legner@siemens.com>2021-11-22 11:05:36 +0300
commit155bb27b1ea2533dfa338bc80a64665c588a20f7 (patch)
treeaaafdee23aef6f8bdc51402587925a7fa61a2152 /internal/auth
parent50095a1ceda366e5ed6b7adfe72d3387c44d1be8 (diff)
chore(auth): add unit tests for domainAllowed
Diffstat (limited to 'internal/auth')
-rw-r--r--internal/auth/auth_test.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/internal/auth/auth_test.go b/internal/auth/auth_test.go
index 74c0370c..d55c5a46 100644
--- a/internal/auth/auth_test.go
+++ b/internal/auth/auth_test.go
@@ -2,6 +2,7 @@ package auth
import (
"bytes"
+ "context"
"fmt"
"io"
"net/http"
@@ -513,3 +514,52 @@ func TestCheckResponseForInvalidTokenWhenNotInvalidToken(t *testing.T) {
require.False(t, auth.CheckResponseForInvalidToken(result, r, resp))
}
+
+func TestDomainAllowed(t *testing.T) {
+ auth := createTestAuth(t, "", "")
+ mockCtrl := gomock.NewController(t)
+ mockSource := mocks.NewMockSource(mockCtrl)
+
+ testCases := []struct {
+ name string
+ expected bool
+ }{
+ {
+ name: "pages.unrelated-site.com",
+ expected: false,
+ },
+ {
+ name: "prepended-pages.gitlab-example.com",
+ expected: false,
+ },
+ {
+ name: "pages.gitlab-example.com.unrelated-site.com",
+ expected: false,
+ },
+ {
+ name: "pages.gitlab-example.com",
+ expected: true,
+ },
+ {
+ name: "subdomain.pages.gitlab-example.com",
+ expected: true,
+ },
+ {
+ name: "multi.sub.domain.pages.gitlab-example.com",
+ expected: true,
+ },
+ }
+
+ for _, tc := range testCases {
+ t.Run(tc.name, func(t *testing.T) {
+ ctx := context.Background()
+
+ if !tc.expected {
+ mockSource.EXPECT().GetDomain(ctx, tc.name).Return(nil, nil)
+ }
+
+ actual := auth.domainAllowed(ctx, tc.name, mockSource)
+ require.Equal(t, tc.expected, actual)
+ })
+ }
+}