/
lib_integration_test.clj
45 lines (35 loc) · 1.59 KB
/
lib_integration_test.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
(ns monger.test.lib-integration-test
(:use clojure.test
monger.conversion)
(:import [org.joda.time DateTime DateMidnight]
org.bson.types.ObjectId
com.mongodb.DBObject)
(:require monger.json
monger.joda-time
[clj-time.core :as t]
[cheshire.core :as json]))
(deftest ^{:integration true} serialization-of-joda-datetime-to-json
(let [dt (t/date-time 2011 10 13 23 55 0)]
(is (= "\"2011-10-13T23:55:00.000Z\""
(json/encode dt)))))
(deftest ^{:integration true} serialization-of-joda-date-to-json
(let [d (.toDate (t/date-time 2011 10 13 23 55 0))]
(is (= "\"2011-10-13T23:55:00Z\""
(json/encode d)))))
(deftest ^{:integration true} conversion-of-joda-datetime-to-db-object
(let [d (to-db-object (t/date-time 2011 10 13 23 55 0))]
(is (instance? java.util.Date d))
(is (= 1318550100000 (.getTime ^java.util.Date d)))))
(deftest ^{:integration true} conversion-of-joda-datemidnight-to-db-object
(let [d (to-db-object (DateMidnight. (t/date-time 2011 10 13)))]
(is (instance? java.util.Date d))
(is (= 1318464000000 (.getTime ^java.util.Date d)))))
(deftest ^{:integration true} conversion-of-java-util-date-to-joda-datetime
(let [input (.toDate ^DateTime (t/date-time 2011 10 13 23 55 0))
output (from-db-object input false)]
(is (instance? org.joda.time.DateTime output))
(is (= input (.toDate ^DateTime output)))))
(deftest ^{:integration true} test-reader-extensions
(let [^DateTime d (t/date-time 2011 10 13 23 55 0)]
(binding [*print-dup* true]
(pr-str d))))