MCPcopy Index your code
hub / github.com/oapi-codegen/oapi-codegen / testImpl

Function testImpl

internal/test/parameters/echov5/echov5_param_test.go:21–381  ·  view source on GitHub ↗
(t *testing.T, handler http.Handler)

Source from the content-addressed store, hash-verified

19}
20
21func testImpl(t *testing.T, handler http.Handler) {
22 t.Helper()
23
24 server := "http://example.com"
25
26 expectedObject := Object{
27 FirstName: "Alex",
28 Role: "admin",
29 }
30
31 expectedComplexObject := ComplexObject{
32 Object: expectedObject,
33 Id: 12345,
34 IsAdmin: true,
35 }
36
37 expectedArray := []int32{3, 4, 5}
38
39 var expectedPrimitive int32 = 5
40
41 doRoundTrip := func(t *testing.T, req *http.Request, target interface{}) {
42 t.Helper()
43 req.RequestURI = req.URL.RequestURI()
44 rec := httptest.NewRecorder()
45 handler.ServeHTTP(rec, req)
46 if !assert.Equal(t, http.StatusOK, rec.Code, "server returned %d; body: %s", rec.Code, rec.Body.String()) {
47 return
48 }
49 if target != nil {
50 require.NoError(t, json.NewDecoder(rec.Body).Decode(target), "failed to decode response body")
51 }
52 }
53
54 t.Run("path", func(t *testing.T) {
55 t.Run("simple", func(t *testing.T) {
56 t.Run("primitive", func(t *testing.T) {
57 req, err := NewGetSimplePrimitiveRequest(server, expectedPrimitive)
58 require.NoError(t, err)
59 var got int32
60 doRoundTrip(t, req, &got)
61 assert.Equal(t, expectedPrimitive, got)
62 })
63 t.Run("primitive explode", func(t *testing.T) {
64 req, err := NewGetSimpleExplodePrimitiveRequest(server, expectedPrimitive)
65 require.NoError(t, err)
66 var got int32
67 doRoundTrip(t, req, &got)
68 assert.Equal(t, expectedPrimitive, got)
69 })
70 t.Run("array noExplode", func(t *testing.T) {
71 req, err := NewGetSimpleNoExplodeArrayRequest(server, expectedArray)
72 require.NoError(t, err)
73 var got []int32
74 doRoundTrip(t, req, &got)
75 assert.Equal(t, expectedArray, got)
76 })
77 t.Run("array explode", func(t *testing.T) {
78 req, err := NewGetSimpleExplodeArrayRequest(server, expectedArray)

Callers 1

Tested by

no test coverage detected