42 lines
1,002 B
Clojure
42 lines
1,002 B
Clojure
|
|
(ns cemerick.bandalore-test
|
||
|
|
(:use cemerick.bandalore
|
||
|
|
clojure.test
|
||
|
|
clojure.contrib.core)
|
||
|
|
(:refer-clojure :exclude (send)))
|
||
|
|
|
||
|
|
; kill the verbose aws logging
|
||
|
|
(.setLevel (java.util.logging.Logger/getLogger "com.amazonaws")
|
||
|
|
java.util.logging.Level/WARNING)
|
||
|
|
|
||
|
|
(def client
|
||
|
|
(let [id (System/getProperty "aws.id")
|
||
|
|
secret-key (System/getProperty "aws.secret-key")]
|
||
|
|
(assert (and id secret-key))
|
||
|
|
(create-client id secret-key)))
|
||
|
|
|
||
|
|
(def *test-queue-url* nil)
|
||
|
|
|
||
|
|
(defn- uuid
|
||
|
|
[]
|
||
|
|
(str (java.util.UUID/randomUUID)))
|
||
|
|
|
||
|
|
(defn- test-queue-name
|
||
|
|
[]
|
||
|
|
(str "bandalore-test-" (uuid)))
|
||
|
|
|
||
|
|
(defmacro defqueuetest
|
||
|
|
[name & body]
|
||
|
|
`(deftest ~name
|
||
|
|
(binding [*test-queue-url* (create-queue client (test-queue-name))]
|
||
|
|
(try
|
||
|
|
(is *test-queue-url*)
|
||
|
|
~@body
|
||
|
|
(finally
|
||
|
|
(delete-queue client *test-queue-url*))))))
|
||
|
|
|
||
|
|
(defqueuetest listing-queues
|
||
|
|
(let [msg (uuid)]
|
||
|
|
(send client *test-queue-url* msg)
|
||
|
|
(is ((set (list-queues client)) *test-queue-url*))))
|
||
|
|
|