Browse Source

fixed run-queries test

Sotnikov, Dmitri 9 years ago
parent
commit
75fc49ee11

+ 6 - 6
frameworks/Clojure/luminus/hello/src/clj/hello/db/core.clj

@@ -88,14 +88,15 @@
   (let [n (try (Integer/parseInt queries)
                (catch Exception e 1))] ; default to 1 on parse failure
     (cond
-      (< n 1) 1
+      (< n 1)   1
       (> n 500) 500
-      :else n)))
+      :else     n)))
 
 (defn run-queries
   "Run the specified number of queries, return the results"
   [queries]
-  (flatten (repeatedly (get-query-count queries) get-world-random)))
+  (let [num-queries (get-query-count queries)]
+    (flatten (repeatedly num-queries get-world-random))))
 
 (defn get-fortunes []
    "Fetch the full list of Fortunes from the database, sort them by the fortune
@@ -109,7 +110,6 @@
   "Changes the :randomNumber of a number of world entities.
   Persists the changes to sql then returns the updated entities"
   [queries]
-  (for [world (-> queries run-queries)]
+  (for [world (run-queries queries)]
     (let [updated-world (assoc world :randomNumber (inc (rand-int 9999)))]
-      (update-world<! updated-world)
-      updated-world)))
+      (assoc updated-world :id (update-world<! updated-world)))))

+ 11 - 5
frameworks/Clojure/luminus/hello/src/clj/hello/routes/home.clj

@@ -7,6 +7,12 @@
             [ring.util.response :refer [content-type]]
             [cheshire.core :refer [generate-string]]))
 
+(defn encode-json-response [rsp]
+  (-> rsp
+      generate-string
+      response/ok
+      (content-type "application/json")))
+
 (defn json-serialization
   "Test 1: JSON serialization"
   []
@@ -18,15 +24,16 @@
 (defn single-query-test
   "Test 2: Single database query"
   []
-  (-> 1 db/run-queries generate-string response/ok))
+  (-> 1
+      db/run-queries
+      encode-json-response))
 
 (defn multiple-query-test
   "Test 3: Multiple database query"
   [queries]
   (-> queries
       db/run-queries
-      generate-string
-      response/ok))
+      encode-json-response))
 
 (defn fortunes
   "Test 4: Fortunes"
@@ -38,8 +45,7 @@
   [queries]
   (-> queries
       db/update-and-persist
-      generate-string
-      response/ok))
+      encode-json-response))
 
 (def plaintext
   "Test 6: Plaintext"