summaryrefslogtreecommitdiff
path: root/compojure-3.2/test/compojure/crypto_test.clj
blob: ee309e6ab762c987d4c97b0aae3e13127736d09e (plain)
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
(ns compojure.crypto-test
  (:use compojure.crypto
        clojure.contrib.test-is))

(deftest secret-key-length
  (are (= (count (gen-secret-key {:key-size _1})) _2)
    256 32
    128 16))

(deftest secret-key-uniqueness
  (let [a (gen-secret-key {:key-size 128})
        b (gen-secret-key {:key-size 128})]
    (is (not= a b))))

(def secret-key
  (.getBytes "0123456789ABCDEF"))

(deftest seal-string
  (is (not= (seal secret-key "Foobar") "Foobar")))

(deftest seal-uniqueness
  (let [a (seal secret-key "Foobar")
        b (seal secret-key "Foobar")]
    (is (not= a b))))

(deftest seal-then-unseal
  (are (= (unseal secret-key (seal secret-key _1)) _1)
    "Foobar"
    [1 2 3]
    {:a 10}))

(deftest seal-then-tamper
  (let [data (seal secret-key "Foobar")
        data (apply str "A" (rest data))]
    (is (nil? (unseal secret-key "Foobar")))))