9
9
"testing"
10
10
11
11
"code.gitea.io/gitea/modules/setting"
12
+ "code.gitea.io/gitea/modules/test"
12
13
13
14
"github.com/stretchr/testify/assert"
14
15
)
@@ -92,20 +93,8 @@ func Test_isGitRawOrLFSPath(t *testing.T) {
92
93
true ,
93
94
},
94
95
}
95
- lfsTests := []string {
96
- "/owner/repo/info/lfs/" ,
97
- "/owner/repo/info/lfs/objects/batch" ,
98
- "/owner/repo/info/lfs/objects/oid/filename" ,
99
- "/owner/repo/info/lfs/objects/oid" ,
100
- "/owner/repo/info/lfs/objects" ,
101
- "/owner/repo/info/lfs/verify" ,
102
- "/owner/repo/info/lfs/locks" ,
103
- "/owner/repo/info/lfs/locks/verify" ,
104
- "/owner/repo/info/lfs/locks/123/unlock" ,
105
- }
106
-
107
- origLFSStartServer := setting .LFS .StartServer
108
96
97
+ defer test .MockVariableValue (& setting .LFS .StartServer )()
109
98
for _ , tt := range tests {
110
99
t .Run (tt .path , func (t * testing.T ) {
111
100
req , _ := http .NewRequest ("POST" , "http://localhost" + tt .path , nil )
@@ -116,6 +105,18 @@ func Test_isGitRawOrLFSPath(t *testing.T) {
116
105
assert .Equal (t , tt .want , newAuthPathDetector (req ).isGitRawOrAttachOrLFSPath ())
117
106
})
118
107
}
108
+
109
+ lfsTests := []string {
110
+ "/owner/repo/info/lfs/" ,
111
+ "/owner/repo/info/lfs/objects/batch" ,
112
+ "/owner/repo/info/lfs/objects/oid/filename" ,
113
+ "/owner/repo/info/lfs/objects/oid" ,
114
+ "/owner/repo/info/lfs/objects" ,
115
+ "/owner/repo/info/lfs/verify" ,
116
+ "/owner/repo/info/lfs/locks" ,
117
+ "/owner/repo/info/lfs/locks/verify" ,
118
+ "/owner/repo/info/lfs/locks/123/unlock" ,
119
+ }
119
120
for _ , tt := range lfsTests {
120
121
t .Run (tt , func (t * testing.T ) {
121
122
req , _ := http .NewRequest ("POST" , tt , nil )
@@ -128,5 +129,27 @@ func Test_isGitRawOrLFSPath(t *testing.T) {
128
129
assert .Equalf (t , setting .LFS .StartServer , got , "isGitOrLFSPath(%q) = %v, want %v" , tt , got , setting .LFS .StartServer )
129
130
})
130
131
}
131
- setting .LFS .StartServer = origLFSStartServer
132
+ }
133
+
134
+ func Test_isFeedRequest (t * testing.T ) {
135
+ tests := []struct {
136
+ want bool
137
+ path string
138
+ }{
139
+ {true , "/user.rss" },
140
+ {true , "/user/repo.atom" },
141
+ {false , "/user/repo" },
142
+ {false , "/use/repo/file.rss" },
143
+
144
+ {true , "/org/repo/rss/branch/xxx" },
145
+ {true , "/org/repo/atom/tag/xxx" },
146
+ {false , "/org/repo/branch/main/rss/any" },
147
+ {false , "/org/atom/any" },
148
+ }
149
+ for _ , tt := range tests {
150
+ t .Run (tt .path , func (t * testing.T ) {
151
+ req , _ := http .NewRequest ("GET" , "http://localhost" + tt .path , nil )
152
+ assert .Equal (t , tt .want , newAuthPathDetector (req ).isFeedRequest (req ))
153
+ })
154
+ }
132
155
}
0 commit comments