git.iko.soy/typeable/openapi3
on master help sign in
Use mempty in tests to reduce boilerplate
18e18f5Nickolay Kudasov
test/Data/SwaggerSpec.hs+8−55
@@ -126,7 +126,7 @@ licenseExampleJSON = [aesonQQ|
126-- =======================================================================
126-- =======================================================================
127
127
128operationExample :: SwaggerOperation
128operationExample :: SwaggerOperation
129−operationExample = SwaggerOperation
129+operationExample = mempty
130 { swaggerOperationTags = ["pet"]
130 { swaggerOperationTags = ["pet"]
131 , swaggerOperationSummary = Just "Updates a pet in the store with form data"
131 , swaggerOperationSummary = Just "Updates a pet in the store with form data"
132 , swaggerOperationDescription = Just ""
132 , swaggerOperationDescription = Just ""
@@ -136,26 +136,14 @@ operationExample = SwaggerOperation
136 , swaggerOperationParameters = params
136 , swaggerOperationParameters = params
137 , swaggerOperationResponses = responses
137 , swaggerOperationResponses = responses
138 , swaggerOperationSecurity = security
138 , swaggerOperationSecurity = security
139− , swaggerOperationExternalDocs = Nothing
140− , swaggerOperationSchemes = Nothing
141− , swaggerOperationDeprecated = False
142 }
139 }
143 where
140 where
144 security = [SwaggerSecurityRequirement [("petstore_auth", ["write:pets", "read:pets"])]]
141 security = [SwaggerSecurityRequirement [("petstore_auth", ["write:pets", "read:pets"])]]
145
142
146− responses = SwaggerResponses
143+ responses = mempty
147− { swaggerResponsesDefault = Nothing
148− , swaggerResponsesResponses =
144+ { swaggerResponsesResponses =
149− [ (200, SwaggerResponse
150− { swaggerResponseDescription = "Pet updated."
145+ [ (200, mempty { swaggerResponseDescription = "Pet updated." })
151− , swaggerResponseSchema = Nothing
152− , swaggerResponseHeaders = mempty
153− , swaggerResponseExamples = Nothing } )
154− , (405, SwaggerResponse
155− { swaggerResponseDescription = "Invalid input"
146+ , (405, mempty { swaggerResponseDescription = "Invalid input" }) ] }
156− , swaggerResponseSchema = Nothing
157− , swaggerResponseHeaders = mempty
158− , swaggerResponseExamples = Nothing } ) ] }
159
147
160 params =
148 params =
161 [ SwaggerParameter
149 [ SwaggerParameter
@@ -175,14 +163,9 @@ operationExample = SwaggerOperation
175 , swaggerParameterSchema = SwaggerParameterOther (stringSchema SwaggerParameterFormData) }
163 , swaggerParameterSchema = SwaggerParameterOther (stringSchema SwaggerParameterFormData) }
176 ]
164 ]
177
165
178− stringSchema i = SwaggerParameterOtherSchema
166+ stringSchema i = mempty
179 { swaggerParameterOtherSchemaIn = i
167 { swaggerParameterOtherSchemaIn = i
180 , swaggerParameterOtherSchemaType = SwaggerParamString
168 , swaggerParameterOtherSchemaType = SwaggerParamString
181− , swaggerParameterOtherSchemaFormat = Nothing
182− , swaggerParameterOtherSchemaAllowEmptyValue = False
183− , swaggerParameterOtherSchemaItems = Nothing
184− , swaggerParameterOtherSchemaCollectionFormat = Nothing
185− , swaggerParameterOtherSchemaCommon = emptySchemaCommon
186 }
169 }
187
170
188operationExampleJSON :: Value
171operationExampleJSON :: Value
@@ -248,24 +231,10 @@ operationExampleJSON = [aesonQQ|
248-- =======================================================================
231-- =======================================================================
249
232
250schemaPrimitiveExample :: SwaggerSchema
233schemaPrimitiveExample :: SwaggerSchema
251−schemaPrimitiveExample = SwaggerSchema
234+schemaPrimitiveExample = mempty
252 { swaggerSchemaType = SwaggerSchemaString
235 { swaggerSchemaType = SwaggerSchemaString
253 , swaggerSchemaFormat = Just "email"
236 , swaggerSchemaFormat = Just "email"
254− , swaggerSchemaTitle = Nothing
237+ }
255− , swaggerSchemaDescription = Nothing
256− , swaggerSchemaRequired = Nothing
257− , swaggerSchemaItems = Nothing
258− , swaggerSchemaAllOf = Nothing
259− , swaggerSchemaProperties = mempty
260− , swaggerSchemaAdditionalProperties = Nothing
261− , swaggerSchemaDiscriminator = Nothing
262− , swaggerSchemaReadOnly = Nothing
263− , swaggerSchemaXml = Nothing
264− , swaggerSchemaExternalDocs = Nothing
265− , swaggerSchemaExample = Nothing
266− , swaggerSchemaMaxProperties = Nothing
267− , swaggerSchemaMinProperties = Nothing
268− , swaggerSchemaCommon = emptySchemaCommon }
269
238
270schemaPrimitiveExampleJSON :: Value
239schemaPrimitiveExampleJSON :: Value
271schemaPrimitiveExampleJSON = [aesonQQ|
240schemaPrimitiveExampleJSON = [aesonQQ|
@@ -275,19 +244,3 @@ schemaPrimitiveExampleJSON = [aesonQQ|
275}
244}
276|]
245|]
277
246
278−emptySchemaCommon :: SwaggerSchemaCommon
279−emptySchemaCommon = SwaggerSchemaCommon
280− { swaggerSchemaDefault = Nothing
281− , swaggerSchemaMaximum = Nothing
282− , swaggerSchemaExclusiveMaximum = Nothing
283− , swaggerSchemaMinimum = Nothing
284− , swaggerSchemaExclusiveMinimum = Nothing
285− , swaggerSchemaMaxLength = Nothing
286− , swaggerSchemaMinLength = Nothing
287− , swaggerSchemaPattern = Nothing
288− , swaggerSchemaMaxItems = Nothing
289− , swaggerSchemaMinItems = Nothing
290− , swaggerSchemaUniqueItems = Nothing
291− , swaggerSchemaEnum = Nothing
292− , swaggerSchemaMultipleOf = Nothing }
293−