Skip to content

Commit f81a15f

Browse files
committed
[housekeeping] format
1 parent fb45c72 commit f81a15f

File tree

2 files changed

+79
-80
lines changed

2 files changed

+79
-80
lines changed

src/navi/core.clj

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
; https://opensource.org/licenses/MIT.
66

77
(ns navi.core
8-
(:import [java.util Map$Entry]
8+
(:import [io.swagger.v3.oas.models Operation
9+
PathItem
10+
PathItem$HttpMethod]
911
[io.swagger.v3.oas.models.media MediaType Schema]
1012
[io.swagger.v3.oas.models.parameters PathParameter
1113
HeaderParameter
1214
QueryParameter
1315
RequestBody
1416
Parameter]
1517
[io.swagger.v3.oas.models.responses ApiResponse]
16-
[io.swagger.v3.oas.models Operation
17-
PathItem
18-
PathItem$HttpMethod]
1918
[io.swagger.v3.parser OpenAPIV3Parser]
20-
[io.swagger.v3.parser.core.models ParseOptions]))
19+
[io.swagger.v3.parser.core.models ParseOptions]
20+
[java.util Map$Entry]))
2121

2222
(declare spec)
2323

@@ -58,7 +58,7 @@
5858
"Given a property and a required keys set, returns a malli spec.
5959
Intended for RequestBody"
6060
[required ^Map$Entry property]
61-
(let [k (.getKey property)
61+
(let [k (.getKey property)
6262
key-schema [(keyword k)]
6363
key-schema (if (contains? required k)
6464
key-schema
@@ -126,10 +126,10 @@
126126
(let [required (->> schema
127127
.getRequired
128128
(into #{}))
129-
schemas (->> schema
130-
.getProperties
131-
(map #(->prop-schema required %))
132-
(into []))]
129+
schemas (->> schema
130+
.getProperties
131+
(map #(->prop-schema required %))
132+
(into []))]
133133
(into [:map {:closed false}] schemas)))
134134

135135
(defmethod spec
@@ -169,9 +169,9 @@
169169
.stream
170170
.findFirst
171171
.get)
172-
body-spec (-> content
173-
.getSchema
174-
schema->spec)]
172+
body-spec (-> content
173+
.getSchema
174+
schema->spec)]
175175
{:body (if (.getRequired param)
176176
body-spec
177177
[:or nil? body-spec])}))
@@ -220,19 +220,19 @@
220220
"Converts a Java Operation to a map of parameters, responses, schemas and handler
221221
that conforms to reitit."
222222
[^Operation op handlers]
223-
(let [params (into [] (.getParameters op))
223+
(let [params (into [] (.getParameters op))
224224
request-body (.getRequestBody op)
225-
params (if (nil? request-body)
226-
params
227-
(conj params request-body))
228-
schemas (->> params
229-
(map param->data)
230-
(apply merge-with into)
231-
(wrap-map :path)
232-
(wrap-map :query)
233-
(wrap-map :header))
234-
responses (-> (.getResponses op)
235-
(update-kvs handle-response-key response->data)) ]
225+
params (if (nil? request-body)
226+
params
227+
(conj params request-body))
228+
schemas (->> params
229+
(map param->data)
230+
(apply merge-with into)
231+
(wrap-map :path)
232+
(wrap-map :query)
233+
(wrap-map :header))
234+
responses (-> (.getResponses op)
235+
(update-kvs handle-response-key response->data))]
236236
(cond-> {:handler (get handlers (.getOperationId op))}
237237
(seq schemas) (assoc :parameters schemas)
238238
(seq responses) (assoc :responses responses))))
@@ -260,15 +260,15 @@
260260
(set! *warn-on-reflection* true)
261261

262262
(def handlers
263-
{"AddGet" (fn [{{{:keys [n1 n2]} :path} :parameters}]
264-
{:status 200
265-
:body (+ n1 n2)})
266-
"AddPost" (fn [{{{:keys [n1 n2]} :body} :parameters}]
267-
{:status 200
268-
:body (+ n1 n2)})
263+
{"AddGet" (fn [{{{:keys [n1 n2]} :path} :parameters}]
264+
{:status 200
265+
:body (+ n1 n2)})
266+
"AddPost" (fn [{{{:keys [n1 n2]} :body} :parameters}]
267+
{:status 200
268+
:body (+ n1 n2)})
269269
"HealthCheck" (fn [_]
270270
{:status 200
271-
:body "Ok"})})
271+
:body "Ok"})})
272272
(-> "api.yaml"
273273
slurp
274274
(routes-from handlers)

test/navi/core_test.clj

Lines changed: 47 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
(ns navi.core-test
88
(:require [clojure.test :refer [deftest testing is]]
99
[navi.core :as core])
10-
(:import [java.util Map LinkedHashMap]
11-
[io.swagger.v3.oas.models Operation PathItem]
10+
(:import [io.swagger.v3.oas.models Operation PathItem]
1211
[io.swagger.v3.oas.models.media Content StringSchema IntegerSchema JsonSchema
1312
NumberSchema ObjectSchema ArraySchema MediaType UUIDSchema Schema]
1413
[io.swagger.v3.oas.models.parameters Parameter PathParameter HeaderParameter QueryParameter RequestBody]
15-
[io.swagger.v3.oas.models.responses ApiResponses ApiResponse]))
14+
[io.swagger.v3.oas.models.responses ApiResponses ApiResponse]
15+
[java.util Map LinkedHashMap]))
1616

1717
(deftest map-to-malli-spec
1818
(testing "surrounding values of a clojure map to a malli map spec"
@@ -80,18 +80,18 @@
8080
(let [props (doto (LinkedHashMap.)
8181
(.put "x" (IntegerSchema.))
8282
(.put "y" (StringSchema.)))
83-
obj (doto (ObjectSchema.)
84-
(.setRequired ["y" "x"])
85-
(.setProperties props))
83+
obj (doto (ObjectSchema.)
84+
(.setRequired ["y" "x"])
85+
(.setProperties props))
8686
props-json (doto (LinkedHashMap.)
8787
(.put "x" (doto (Schema.)
8888
(.addType "integer")))
8989
(.put "y" (doto (Schema.)
9090
(.addType "string"))))
91-
obj-json (doto (Schema.)
92-
(.addType "object")
93-
(.setRequired ["y" "x"])
94-
(.setProperties props-json))]
91+
obj-json (doto (Schema.)
92+
(.addType "object")
93+
(.setRequired ["y" "x"])
94+
(.setProperties props-json))]
9595
(is (= [:map {:closed false} [:x int?] [:y string?]]
9696
(core/schema->spec obj)))
9797
(is (= [:map {:closed false} [:x int?] [:y string?]]
@@ -134,23 +134,22 @@
134134
(core/response->data response)))))
135135
(testing "default media type"
136136
(let [media (doto (MediaType.)
137-
(.setSchema (StringSchema.)))
137+
(.setSchema (StringSchema.)))
138138
content (doto (Content.)
139139
(.put "default" media))
140140
response (doto (ApiResponse.)
141-
(.setContent content)) ]
141+
(.setContent content))]
142142
(is (= {:content {:default {:schema string?}}}
143143
(core/response->data response)))))
144144
(testing "json object response"
145145
(let [media (doto (MediaType.)
146-
(.setSchema (ObjectSchema.)))
146+
(.setSchema (ObjectSchema.)))
147147
content (doto (Content.)
148148
(.put "application/json" media))
149149
response (doto (ApiResponse.)
150-
(.setContent content)) ]
150+
(.setContent content))]
151151
(is (= {:content {"application/json" {:schema [:map {:closed false}]}}}
152-
(core/response->data response)))))
153-
)
152+
(core/response->data response))))))
154153

155154
(deftest parameters-to-malli-spec
156155
(testing "path"
@@ -174,72 +173,72 @@
174173
(is (= {:header [[:x int?]]}
175174
(core/param->data param)))))
176175
(testing "required request body"
177-
(let [media (doto (MediaType.)
178-
(.setSchema (ObjectSchema.)))
176+
(let [media (doto (MediaType.)
177+
(.setSchema (ObjectSchema.)))
179178
content (doto (Content.)
180179
(.put "application/json" media))
181-
param (doto (RequestBody.)
182-
(.setRequired true)
183-
(.setContent content))]
180+
param (doto (RequestBody.)
181+
(.setRequired true)
182+
(.setContent content))]
184183
(is (= {:body [:map {:closed false}]}
185184
(core/param->data param)))))
186185
(testing "optional request body"
187-
(let [media (doto (MediaType.)
188-
(.setSchema (ObjectSchema.)))
186+
(let [media (doto (MediaType.)
187+
(.setSchema (ObjectSchema.)))
189188
content (doto (Content.)
190189
(.put "application/json" media))
191-
param (doto (RequestBody.)
192-
(.setRequired false)
193-
(.setContent content))]
190+
param (doto (RequestBody.)
191+
(.setRequired false)
192+
(.setContent content))]
194193
(is (= {:body [:or nil? [:map {:closed false}]]}
195194
(core/param->data param)))))
196195
(testing "implicitly optional request body"
197-
(let [media (doto (MediaType.)
198-
(.setSchema (ObjectSchema.)))
196+
(let [media (doto (MediaType.)
197+
(.setSchema (ObjectSchema.)))
199198
content (doto (Content.)
200199
(.put "application/json" media))
201-
param (doto (RequestBody.)
202-
(.setContent content))]
200+
param (doto (RequestBody.)
201+
(.setContent content))]
203202
(is (= {:body [:or nil? [:map {:closed false}]]}
204203
(core/param->data param))))))
205204

206205
(deftest openapi-operation-to-malli-spec
207206
(testing "OpenAPI operation to reitit ring handler"
208-
(let [param (doto (PathParameter.)
209-
(.setName "x")
210-
(.setSchema (IntegerSchema.)))
211-
hparam (doto (HeaderParameter.)
212-
(.setName "y")
213-
(.setSchema (StringSchema.)))
214-
response (doto (ApiResponse.)
215-
(.setContent (doto (Content.)
216-
(.put "application/json"
217-
(doto (MediaType.)
218-
(.setSchema (ObjectSchema.)))))))
207+
(let [param (doto (PathParameter.)
208+
(.setName "x")
209+
(.setSchema (IntegerSchema.)))
210+
hparam (doto (HeaderParameter.)
211+
(.setName "y")
212+
(.setSchema (StringSchema.)))
213+
response (doto (ApiResponse.)
214+
(.setContent (doto (Content.)
215+
(.put "application/json"
216+
(doto (MediaType.)
217+
(.setSchema (ObjectSchema.)))))))
219218
responses (doto (ApiResponses.)
220219
(.put "200" response))
221220
operation (doto (Operation.)
222221
(.setParameters [param hparam])
223222
(.setResponses responses)
224223
(.setOperationId "TestOp"))
225-
handlers {"TestOp" "a handler"}]
226-
(is (= {:handler "a handler"
224+
handlers {"TestOp" "a handler"}]
225+
(is (= {:handler "a handler"
227226
:parameters {:path [:map [:x int?]]
228227
:header [:map [:y {:optional true} string?]]}
229228
:responses {200 {:content {"application/json" {:schema [:map {:closed false}]}}}}}
230229
(core/operation->data operation handlers))))))
231230

232231
(deftest openapi-path-to-malli-spec
233232
(testing "OpenAPI path to reitit route"
234-
(let [param (doto (PathParameter.)
235-
(.setName "x")
236-
(.setSchema (IntegerSchema.)))
233+
(let [param (doto (PathParameter.)
234+
(.setName "x")
235+
(.setSchema (IntegerSchema.)))
237236
operation (doto (Operation.)
238237
(.setParameters [param])
239238
(.setOperationId "TestOp"))
240-
handlers {"TestOp" "a handler"}
239+
handlers {"TestOp" "a handler"}
241240
path-item (doto (PathItem.)
242241
(.setGet operation))]
243-
(is (= {:get {:handler "a handler"
242+
(is (= {:get {:handler "a handler"
244243
:parameters {:path [:map [:x int?]]}}}
245244
(core/path-item->data path-item handlers))))))

0 commit comments

Comments
 (0)