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

Function TestBuildOperation

http/codegen/openapi/v3/builder_test.go:238–381  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

236type responses map[string]response
237
238func TestBuildOperation(t *testing.T) {
239 const svcName = "test service"
240 cases := []struct {
241 Name string
242 DSL func()
243
244 ExpectedDescription string
245 ExpectedDeprecated bool
246 ExpectedParameters []param
247 ExpectedRequestBody *requestBody
248 ExpectedResponses map[string]response
249 }{{
250 Name: "desc_only",
251 DSL: dsls.DescOnly(svcName, "desc_only", "desc"),
252
253 ExpectedDescription: "desc",
254 ExpectedDeprecated: false,
255 ExpectedResponses: responses{"204": {Description: "No Content response."}},
256 }, {
257 Name: "deprecated_only",
258 DSL: dsls.DeprecatedOnly(svcName, "deprecated_only"),
259 ExpectedDeprecated: true,
260 ExpectedResponses: responses{"204": {Description: "No Content response."}},
261 }, {
262 Name: "request_string_body",
263 DSL: dsls.RequestStringBody(svcName, "request_string_body"),
264
265 ExpectedDeprecated: false,
266 ExpectedRequestBody: &requestBody{"body", tstring, true},
267 ExpectedResponses: responses{"204": {Description: "No Content response."}},
268 }, {
269 Name: "request_object_body",
270 DSL: dsls.RequestObjectBody(svcName, "request_object_body"),
271
272 ExpectedDeprecated: false,
273 ExpectedRequestBody: &requestBody{"", tobj("name", tstring), true},
274 ExpectedResponses: responses{"204": {Description: "No Content response."}},
275 }, {
276 Name: "request_streaming_string_body",
277 DSL: dsls.RequestObjectBody(svcName, "request_streaming_string_body"),
278
279 ExpectedDeprecated: false,
280 ExpectedRequestBody: &requestBody{"", tobj("name", tstring), true},
281 ExpectedResponses: responses{"204": {Description: "No Content response."}},
282 }, {
283 Name: "request_map_params",
284 DSL: dsls.RequestMapParams(svcName, "request_map_params"),
285
286 ExpectedDeprecated: false,
287 ExpectedParameters: []param{{Name: "param", In: "query", Description: "Query parameters", Style: "deepObject", Type: tobj()}},
288 ExpectedResponses: responses{"204": {Description: "No Content response."}},
289 }, {
290 Name: "response_array_of_string",
291 DSL: dsls.ResponseArrayOfString(svcName, "response_array_of_string"),
292
293 ExpectedDeprecated: false,
294 ExpectedResponses: responses{"200": {"OK response.", tobj("result", tobj("children", tarray)), nil}},
295 }, {

Callers

nothing calls this directly

Calls 11

RunDSLFunction · 0.92
NewRandomFunction · 0.92
tobjFunction · 0.85
buildBodyTypesFunction · 0.85
buildOperationFunction · 0.85
matchesParameterFunction · 0.85
matchesRequestBodyFunction · 0.85
matchesResponseFunction · 0.85
NameMethod · 0.65
RunMethod · 0.45
ErrorMethod · 0.45

Tested by

no test coverage detected