MCPcopy Create free account
hub / github.com/goadesign/goa / TestSchemeExprValidate

Function TestSchemeExprValidate

expr/security_test.go:298–374  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

296}
297
298func TestSchemeExprValidate(t *testing.T) {
299 var (
300 tokenURL = "http://example.com/token"
301 authorizationURL = "http://example.com/auth"
302 refreshURL = "http://example.com/refresh"
303 invalidURL = "http://%"
304 escapeError = url.EscapeError("%")
305 parseError = url.Error{Op: "parse", URL: invalidURL, Err: escapeError}
306 validFlow = &FlowExpr{
307 TokenURL: tokenURL,
308 AuthorizationURL: authorizationURL,
309 RefreshURL: refreshURL,
310 }
311 invalidTokenURLFlow = &FlowExpr{
312 TokenURL: invalidURL,
313 AuthorizationURL: authorizationURL,
314 RefreshURL: refreshURL,
315 }
316 invalidAuthorizationURLFlow = &FlowExpr{
317 TokenURL: tokenURL,
318 AuthorizationURL: invalidURL,
319 RefreshURL: refreshURL,
320 }
321 errInvalidTokenURL = fmt.Errorf("invalid token URL %q: %s", invalidURL, parseError.Error())
322 errInvalidAuthorizationURL = fmt.Errorf("invalid authorization URL %q: %s", invalidURL, parseError.Error())
323 )
324 cases := map[string]struct {
325 flows []*FlowExpr
326 expected *eval.ValidationErrors
327 }{
328 "no error": {
329 flows: []*FlowExpr{
330 validFlow,
331 },
332 expected: &eval.ValidationErrors{
333 Errors: []error{},
334 },
335 },
336 "single error": {
337 flows: []*FlowExpr{
338 invalidTokenURLFlow,
339 },
340 expected: &eval.ValidationErrors{
341 Errors: []error{
342 errInvalidTokenURL,
343 },
344 },
345 },
346 "multiple errors": {
347 flows: []*FlowExpr{
348 invalidTokenURLFlow,
349 invalidAuthorizationURLFlow,
350 },
351 expected: &eval.ValidationErrors{
352 Errors: []error{
353 errInvalidTokenURL,
354 errInvalidAuthorizationURL,
355 },

Callers

nothing calls this directly

Calls 2

ValidateMethod · 0.95
ErrorMethod · 0.45

Tested by

no test coverage detected