Write tests for GUID generation functions
This commit is contained in:
parent
cd91ba8bce
commit
efd3568e85
2 changed files with 38 additions and 0 deletions
|
@ -37,6 +37,10 @@
|
||||||
"-"
|
"-"
|
||||||
time)))
|
time)))
|
||||||
|
|
||||||
|
;; TODO: the docstrings are not really accurate, they should more reflect that
|
||||||
|
;; they are just formating GUID not really generating it according to anything
|
||||||
|
;; from the outside as it may seem
|
||||||
|
|
||||||
(defn new-guid-paranoid
|
(defn new-guid-paranoid
|
||||||
"Generate unique GUID on EVERY request to the feed.
|
"Generate unique GUID on EVERY request to the feed.
|
||||||
|
|
||||||
|
|
34
test/rss_thread_watch/feed_generator_test.clj
Normal file
34
test/rss_thread_watch/feed_generator_test.clj
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
(ns rss-thread-watch.feed-generator-test
|
||||||
|
(:require [clojure.test :refer :all]
|
||||||
|
[rss-thread-watch.feed-generator :refer :all]))
|
||||||
|
|
||||||
|
(def thread-list [{:title "Some thread title"
|
||||||
|
:chod 94.0
|
||||||
|
:no 696942042
|
||||||
|
:last-modified 20}
|
||||||
|
{:title "Some nearly dead THREAD"
|
||||||
|
:chod 69.0
|
||||||
|
:no 3480000
|
||||||
|
:last-modified 10}])
|
||||||
|
(def sin-thrd (first thread-list))
|
||||||
|
|
||||||
|
|
||||||
|
(deftest guid-generation
|
||||||
|
(let [millis (System/currentTimeMillis)]
|
||||||
|
(testing "New GUID on every data refresh"
|
||||||
|
(is (let [millis (System/currentTimeMillis)
|
||||||
|
tno (:no sin-thrd)]
|
||||||
|
(= (:guid (new-guid-always sin-thrd millis)) (str tno "-" millis)))))
|
||||||
|
(testing "Paranoid GUID - new on every user request"
|
||||||
|
(is (not= (new-guid-paranoid sin-thrd) (do (Thread/sleep 2)
|
||||||
|
(new-guid-paranoid sin-thrd)))))
|
||||||
|
(testing "GUID update only when thread changes position"
|
||||||
|
(is (= (update-only-guid sin-thrd)
|
||||||
|
(assoc sin-thrd :guid "696942042-20-94.00")))
|
||||||
|
|
||||||
|
|
||||||
|
)
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue