@@ -3,7 +3,6 @@ package api
33import (
44 "bytes"
55 "encoding/json"
6- "errors"
76 "fmt"
87 "io"
98 "net/http"
@@ -119,98 +118,6 @@ func TestPreflightRequest(t *testing.T) {
119118 require .Equal (t , byts , []byte {})
120119}
121120
122- func TestMiddlewareOrigin (t * testing.T ) {
123- allowOrigins := []string {}
124- origin := ""
125- allowedOrigin , err := isOriginAllowed (origin , allowOrigins )
126- if err == nil {
127- t .Fatalf ("expected error for empty origin, got nil" )
128- }
129- if allowedOrigin != "" {
130- t .Fatalf ("expected empty allowed origin, got %s" , allowedOrigin )
131- }
132-
133- allowOrigins = []string {"http://example.com" }
134- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
135- if err == nil {
136- t .Fatalf ("expected error for empty origin with allowed origins, got nil" )
137- }
138- if allowedOrigin != "" {
139- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
140- }
141-
142- allowOrigins = []string {"*" }
143- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
144- if err != nil {
145- t .Fatalf ("unexpected error for wildcard origin: %v" , err )
146- }
147- if allowedOrigin != "*" {
148- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
149- }
150-
151- origin = "http://example.com"
152- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
153- if err != nil {
154- t .Fatalf ("unexpected error for matching wildcard: %v" , err )
155- }
156- if allowedOrigin != "*" {
157- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
158- }
159-
160- allowOrigins = []string {"http://example.com" , "https://example.org" }
161- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
162- if err != nil {
163- t .Fatalf ("unexpected error for matching origin: %v" , err )
164- }
165- if allowedOrigin != origin {
166- t .Fatalf ("expected empty allowed origin, got %s" , allowedOrigin )
167- }
168-
169- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
170- if err != nil {
171- t .Fatalf ("unexpected error for matching origin: %v" , err )
172- }
173- if allowedOrigin != origin {
174- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
175- }
176-
177- origin = "https://example.org"
178- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
179- if err != nil {
180- t .Fatalf ("unexpected error for matching origin: %v" , err )
181- }
182- if allowedOrigin != origin {
183- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
184- }
185-
186- allowedOrigin , err = isOriginAllowed ("http://notallowed.com" , allowOrigins )
187- if ! errors .Is (err , errOriginNotAllowed ) {
188- t .Fatalf ("expected errOriginNotAllowed for disallowed origin, got %v" , err )
189- }
190- if allowedOrigin != "" {
191- t .Fatalf ("expected empty allowed origin, got %s" , allowedOrigin )
192- }
193-
194- allowOrigins = []string {"http://*.example.com" }
195- origin = "http://test.example.com"
196- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
197- if err != nil {
198- t .Fatalf ("unexpected error for wildcard subdomain: %v" , err )
199- }
200- if allowedOrigin != origin {
201- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
202- }
203-
204- origin = "http://example.com"
205- allowedOrigin , err = isOriginAllowed (origin , allowOrigins )
206- if err != nil {
207- t .Fatalf ("unexpected error for exact subdomain match: %v" , err )
208- }
209- if allowedOrigin != origin {
210- t .Fatalf ("unexpected allowed origin: %s" , allowedOrigin )
211- }
212- }
213-
214121func TestInfo (t * testing.T ) {
215122 cnf := tempConf (t , "api: yes\n " )
216123
0 commit comments