(t *testing.T)
| 71 | } |
| 72 | |
| 73 | func TestTooManyArgError(t *testing.T) { |
| 74 | dsls := map[string]func(){ |
| 75 | "APIKey": func() { Type("name", func() { APIKey("scheme", "name", 1, 2, 3) }) }, |
| 76 | "APIKeyField": func() { Type("name", func() { APIKeyField("tag", "scheme", "name", 1, 2, 3) }) }, |
| 77 | "AccessToken": func() { Type("name", func() { AccessToken("name", 1, 2, 3) }) }, |
| 78 | "AccessTokenField": func() { Type("name", func() { AccessTokenField("tag", "name", 1, 2, 3) }) }, |
| 79 | "ArrayOf": func() { ArrayOf(String, func() {}, func() {}) }, |
| 80 | "Attribute": func() { Type("name", func() { Attribute("name", 1, 2, 3, 4) }) }, |
| 81 | "Cookie": func() { API("name", func() { HTTP(func() { Cookie("name", 1, 2, 3, 4) }) }) }, |
| 82 | "Error": func() { API("name", func() { Error("name", 1, 2, 3, 4) }) }, |
| 83 | "ErrorName": func() { Type("name", func() { ErrorName("name", 1, 2, 3) }) }, |
| 84 | "Example": func() { Example(1, 2, 3) }, |
| 85 | "Field": func() { Type("name", func() { Field("tag", "name", 1, 2, 3, 4) }) }, |
| 86 | "Files": func() { Files("path", "filename", func() {}, func() {}) }, |
| 87 | "HTTP": func() { API("name", func() { HTTP(func() {}, func() {}) }) }, |
| 88 | "Header": func() { API("name", func() { HTTP(func() { Header("name", 1, 2, 3, 4) }) }) }, |
| 89 | "MapOf": func() { MapOf(String, String, func() {}, func() {}) }, |
| 90 | "MapParams": func() { MapParams(1, 2) }, |
| 91 | "OneOf": func() { OneOf("name", 1, 2, 3) }, |
| 92 | "Param": func() { API("name", func() { HTTP(func() { Param("name", 1, 2, 3, 4) }) }) }, |
| 93 | "Password": func() { Type("name", func() { Password("name", 1, 2, 3) }) }, |
| 94 | "PasswordField": func() { Type("name", func() { PasswordField("tag", "name", 1, 2, 3) }) }, |
| 95 | "Payload": func() { Payload(String, 1, 2, 3) }, |
| 96 | "Response (int)": func() { API("name", func() { HTTP(func() { Response(StatusOK, "name", 1, 2) }) }) }, |
| 97 | "Response (func)": func() { API("name", func() { HTTP(func() { Response("name", func() {}, func() {}) }) }) }, |
| 98 | "Result": func() { Result(String, 1, 2, 3) }, |
| 99 | "ResultType": func() { ResultType("identifier", "name", func() {}, func() {}) }, |
| 100 | "Scope": func() { BasicAuthSecurity("name", func() { Scope("name", "1", "2") }) }, |
| 101 | "Server": func() { Server("name", func() {}, func() {}) }, |
| 102 | "StreamingPayload": func() { StreamingPayload(String, 1, 2, 3) }, |
| 103 | "StreamingResult": func() { StreamingResult(String, 1, 2, 3) }, |
| 104 | "Token": func() { Type("name", func() { Token("name", 1, 2, 3) }) }, |
| 105 | "TokenField": func() { Type("name", func() { TokenField("tag", "name", 1, 2, 3) }) }, |
| 106 | "Type": func() { Type("name", 1, 2, 3) }, |
| 107 | "Type (func)": func() { Type("name", func() {}, func() {}) }, |
| 108 | "Username": func() { Type("name", func() { Username("name", 1, 2, 3) }) }, |
| 109 | "UsernameField": func() { Type("name", func() { UsernameField("tag", "name", 1, 2, 3) }) }, |
| 110 | "Variable": func() { API("a", func() { Server("s", func() { Host("h", func() { Variable("v", 1, 2, 3, 4) }) }) }) }, |
| 111 | } |
| 112 | for name, dsl := range dsls { |
| 113 | t.Run(name, func(t *testing.T) { |
| 114 | err := expr.RunInvalidDSL(t, dsl) |
| 115 | assert.Len(t, strings.Split(err.Error(), "\n"), 1) |
| 116 | assert.Contains(t, err.Error(), "too many arguments given to "+strings.Split(name, " ")[0]) |
| 117 | }) |
| 118 | } |
| 119 | } |
| 120 | |
| 121 | // mockExpr is a test implementation of the Expression interface |
| 122 | type mockExpr struct{} |
nothing calls this directly
no test coverage detected