()
| 143 | } |
| 144 | |
| 145 | func (s *ServerTestSuite) TestWithSecret() { |
| 146 | tests := []struct { |
| 147 | name string |
| 148 | secret string |
| 149 | authHeader string |
| 150 | expectStatus int |
| 151 | }{ |
| 152 | { |
| 153 | name: "ValidSecret", |
| 154 | secret: "test-secret", |
| 155 | authHeader: "Bearer test-secret", |
| 156 | expectStatus: http.StatusOK, |
| 157 | }, |
| 158 | { |
| 159 | name: "InvalidSecret", |
| 160 | secret: "foo-secret", |
| 161 | authHeader: "Bearer wrong-secret", |
| 162 | expectStatus: http.StatusForbidden, |
| 163 | }, |
| 164 | { |
| 165 | name: "NoSecretConfigured", |
| 166 | secret: "", |
| 167 | authHeader: "", |
| 168 | expectStatus: http.StatusOK, |
| 169 | }, |
| 170 | } |
| 171 | |
| 172 | for _, tt := range tests { |
| 173 | s.Run(tt.name, func() { |
| 174 | s.config().Secret = tt.secret |
| 175 | |
| 176 | s.router().GET("/test", s.router().WithReportError(s.router().WithSecret(s.mockHandler))) |
| 177 | |
| 178 | req := httptest.NewRequest(http.MethodGet, "/test", nil) |
| 179 | if tt.authHeader != "" { |
| 180 | req.Header.Set(httpheaders.Authorization, tt.authHeader) |
| 181 | } |
| 182 | rw := httptest.NewRecorder() |
| 183 | |
| 184 | s.router().ServeHTTP(rw, req) |
| 185 | |
| 186 | s.Equal(tt.expectStatus, rw.Code) |
| 187 | }) |
| 188 | } |
| 189 | } |
| 190 | |
| 191 | func (s *ServerTestSuite) TestIntoSuccess() { |
| 192 | mockHandler := func(reqID string, rw server.ResponseWriter, r *http.Request) *server.Error { |
nothing calls this directly
no test coverage detected