Another session store test suite now passes
This commit is contained in:
parent
d7965adb86
commit
6f93043eab
1 changed files with 41 additions and 87 deletions
|
|
@ -1,100 +1,54 @@
|
||||||
(ns monger.test.ring.session-store-test
|
(ns monger.test.ring.session-store-test
|
||||||
(:require [monger core util]
|
(:require [monger.core :as mg]
|
||||||
[monger.collection :as mc]
|
[monger.collection :as mc]
|
||||||
[monger.test.helper :as helper]
|
|
||||||
[clojure.test :refer :all]
|
[clojure.test :refer :all]
|
||||||
[ring.middleware.session.store :refer :all]
|
[ring.middleware.session.store :refer :all]
|
||||||
[monger.ring.session-store :refer :all]))
|
[monger.ring.session-store :refer :all]))
|
||||||
|
|
||||||
|
|
||||||
(helper/connect!)
|
(let [conn (mg/connect)
|
||||||
|
db (mg/get-db conn "monger-test")]
|
||||||
|
(defn purge-sessions
|
||||||
|
[f]
|
||||||
|
(mc/remove db "sessions")
|
||||||
|
(f)
|
||||||
|
(mc/remove db "sessions"))
|
||||||
|
|
||||||
(defn purge-sessions
|
(use-fixtures :each purge-sessions)
|
||||||
[f]
|
|
||||||
(mc/remove "web_sessions")
|
|
||||||
(mc/remove "sessions")
|
|
||||||
(f)
|
|
||||||
(mc/remove "web_sessions")
|
|
||||||
(mc/remove "sessions"))
|
|
||||||
|
|
||||||
(use-fixtures :each purge-sessions)
|
(deftest test-reading-a-session-that-does-not-exist
|
||||||
|
(let [store (monger-store db "sessions")]
|
||||||
|
(is (= {} (read-session store "a-missing-key-1228277")))))
|
||||||
|
|
||||||
|
(deftest test-reading-a-session-that-does-exist
|
||||||
|
(let [store (monger-store db "sessions")
|
||||||
|
sk (write-session store nil {:library "Monger"})
|
||||||
|
m (read-session store sk)]
|
||||||
|
(is sk)
|
||||||
|
(is (and (:_id m) (:date m)))
|
||||||
|
(is (= (dissoc m :_id :date)
|
||||||
|
{:library "Monger"}))))
|
||||||
|
|
||||||
(deftest test-reading-a-session-that-does-not-exist
|
(deftest test-updating-a-session
|
||||||
(let [store (monger-store)]
|
(let [store (monger-store db "sessions")
|
||||||
(is (= {} (read-session store "a-missing-key-1228277")))))
|
sk1 (write-session store nil {:library "Monger"})
|
||||||
|
sk2 (write-session store sk1 {:library "Ring"})
|
||||||
|
m (read-session store sk2)]
|
||||||
|
(is (and sk1 sk2))
|
||||||
|
(is (and (:_id m) (:date m)))
|
||||||
|
(is (= sk1 sk2))
|
||||||
|
(is (= (dissoc m :_id :date)
|
||||||
|
{:library "Ring"}))))
|
||||||
|
|
||||||
|
(deftest test-deleting-a-session
|
||||||
|
(let [store (monger-store db "sessions")
|
||||||
|
sk (write-session store nil {:library "Monger"})]
|
||||||
|
(is (nil? (delete-session store sk)))
|
||||||
|
(is (= {} (read-session store sk)))))
|
||||||
|
|
||||||
(deftest test-reading-a-session-that-does-not-exist-given-db
|
(deftest test-reader-extensions
|
||||||
(let [db (monger.core/get-db)
|
(let [d (java.util.Date.)
|
||||||
store (monger-store db "sessions")]
|
oid (org.bson.types.ObjectId.)]
|
||||||
(is (= {} (read-session store "a-missing-key-1228277")))))
|
(binding [*print-dup* true]
|
||||||
|
(pr-str d)
|
||||||
|
(pr-str oid)))))
|
||||||
(deftest test-reading-a-session-that-does-exist
|
|
||||||
(let [store (monger-store)
|
|
||||||
sk (write-session store nil {:library "Monger"})
|
|
||||||
m (read-session store sk)]
|
|
||||||
(is sk)
|
|
||||||
(is (and (:_id m) (:date m)))
|
|
||||||
(is (= (dissoc m :_id :date)
|
|
||||||
{:library "Monger"}))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-reading-a-session-that-does-exist-given-db
|
|
||||||
(let [db (monger.core/get-db)
|
|
||||||
store (monger-store db "sessions")
|
|
||||||
sk (write-session store nil {:library "Monger"})
|
|
||||||
m (read-session store sk)]
|
|
||||||
(is sk)
|
|
||||||
(is (and (:_id m) (:date m)))
|
|
||||||
(is (= (dissoc m :_id :date)
|
|
||||||
{:library "Monger"}))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-updating-a-session
|
|
||||||
(let [store (monger-store "sessions")
|
|
||||||
sk1 (write-session store nil {:library "Monger"})
|
|
||||||
sk2 (write-session store sk1 {:library "Ring"})
|
|
||||||
m (read-session store sk2)]
|
|
||||||
(is (and sk1 sk2))
|
|
||||||
(is (and (:_id m) (:date m)))
|
|
||||||
(is (= sk1 sk2))
|
|
||||||
(is (= (dissoc m :_id :date)
|
|
||||||
{:library "Ring"}))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-updating-a-session-given-db
|
|
||||||
(let [db (monger.core/get-db)
|
|
||||||
store (monger-store db "sessions")
|
|
||||||
sk1 (write-session store nil {:library "Monger"})
|
|
||||||
sk2 (write-session store sk1 {:library "Ring"})
|
|
||||||
m (read-session store sk2)]
|
|
||||||
(is (and sk1 sk2))
|
|
||||||
(is (and (:_id m) (:date m)))
|
|
||||||
(is (= sk1 sk2))
|
|
||||||
(is (= (dissoc m :_id :date)
|
|
||||||
{:library "Ring"}))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-deleting-a-session
|
|
||||||
(let [store (monger-store "sessions")
|
|
||||||
sk (write-session store nil {:library "Monger"})]
|
|
||||||
(is (nil? (delete-session store sk)))
|
|
||||||
(is (= {} (read-session store sk)))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-deleting-a-session-given-db
|
|
||||||
(let [db (monger.core/get-db)
|
|
||||||
store (monger-store db "sessions")
|
|
||||||
sk (write-session store nil {:library "Monger"})]
|
|
||||||
(is (nil? (delete-session store sk)))
|
|
||||||
(is (= {} (read-session store sk)))))
|
|
||||||
|
|
||||||
|
|
||||||
(deftest test-reader-extensions
|
|
||||||
(let [d (java.util.Date.)
|
|
||||||
oid (org.bson.types.ObjectId.)]
|
|
||||||
(binding [*print-dup* true]
|
|
||||||
(pr-str d)
|
|
||||||
(pr-str oid))))
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue