Skip to content

Commit 475226d

Browse files
committed
add test
Signed-off-by: Andrew Thornton <[email protected]>
1 parent 8110c6b commit 475226d

File tree

1 file changed

+124
-0
lines changed

1 file changed

+124
-0
lines changed

modules/auth/sso/sso_test.go

Lines changed: 124 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,124 @@
1+
// Copyright 2014 The Gogs Authors. All rights reserved.
2+
// Copyright 2019 The Gitea Authors. All rights reserved.
3+
// Use of this source code is governed by a MIT-style
4+
// license that can be found in the LICENSE file.
5+
6+
package sso
7+
8+
import (
9+
"net/http"
10+
"testing"
11+
12+
"code.gitea.io/gitea/modules/setting"
13+
)
14+
15+
func Test_isGitOrLFSPath(t *testing.T) {
16+
17+
tests := []struct {
18+
path string
19+
20+
want bool
21+
}{
22+
{
23+
"/owner/repo/git-upload-pack",
24+
true,
25+
},
26+
{
27+
"/owner/repo/git-receive-pack",
28+
true,
29+
},
30+
{
31+
"/owner/repo/info/refs",
32+
true,
33+
},
34+
{
35+
"/owner/repo/HEAD",
36+
true,
37+
},
38+
{
39+
"/owner/repo/objects/info/alternates",
40+
true,
41+
},
42+
{
43+
"/owner/repo/objects/info/http-alternates",
44+
true,
45+
},
46+
{
47+
"/owner/repo/objects/info/packs",
48+
true,
49+
},
50+
{
51+
"/owner/repo/objects/info/blahahsdhsdkla",
52+
true,
53+
},
54+
{
55+
"/owner/repo/objects/01/23456789abcdef0123456789abcdef01234567",
56+
true,
57+
},
58+
{
59+
"/owner/repo/objects/pack/pack-123456789012345678921234567893124567894.pack",
60+
true,
61+
},
62+
{
63+
"/owner/repo/objects/pack/pack-0123456789abcdef0123456789abcdef0123456.idx",
64+
true,
65+
},
66+
{
67+
"/owner/repo/stars",
68+
false,
69+
},
70+
{
71+
"/notowner",
72+
false,
73+
},
74+
{
75+
"/owner/repo",
76+
false,
77+
},
78+
{
79+
"/owner/repo/commit/123456789012345678921234567893124567894",
80+
false,
81+
},
82+
}
83+
lfsTests := []string{
84+
"/owner/repo/info/lfs/",
85+
"/owner/repo/info/lfs/objects/batch",
86+
"/owner/repo/info/lfs/objects/oid/filename",
87+
"/owner/repo/info/lfs/objects/oid",
88+
"/owner/repo/info/lfs/objects",
89+
"/owner/repo/info/lfs/verify",
90+
"/owner/repo/info/lfs/locks",
91+
"/owner/repo/info/lfs/locks/verify",
92+
"/owner/repo/info/lfs/locks/123/unlock",
93+
}
94+
95+
origLFSStartServer := setting.LFS.StartServer
96+
97+
for _, tt := range tests {
98+
t.Run(tt.path, func(t *testing.T) {
99+
req, _ := http.NewRequest("POST", "http://localhost"+tt.path, nil)
100+
setting.LFS.StartServer = false
101+
if got := isGitOrLFSPath(req); got != tt.want {
102+
t.Errorf("isGitOrLFSPath() = %v, want %v", got, tt.want)
103+
}
104+
setting.LFS.StartServer = true
105+
if got := isGitOrLFSPath(req); got != tt.want {
106+
t.Errorf("isGitOrLFSPath() = %v, want %v", got, tt.want)
107+
}
108+
})
109+
}
110+
for _, tt := range lfsTests {
111+
t.Run(tt, func(t *testing.T) {
112+
req, _ := http.NewRequest("POST", tt, nil)
113+
setting.LFS.StartServer = false
114+
if got := isGitOrLFSPath(req); got != setting.LFS.StartServer {
115+
t.Errorf("isGitOrLFSPath(%q) = %v, want %v, %v", tt, got, setting.LFS.StartServer, gitPathRe.MatchString(tt))
116+
}
117+
setting.LFS.StartServer = true
118+
if got := isGitOrLFSPath(req); got != setting.LFS.StartServer {
119+
t.Errorf("isGitOrLFSPath(%q) = %v, want %v", tt, got, setting.LFS.StartServer)
120+
}
121+
})
122+
}
123+
setting.LFS.StartServer = origLFSStartServer
124+
}

0 commit comments

Comments
 (0)