2 (:use [helpers] :reload-all)
4 (:import java.io.ByteArrayInputStream)
5 (:require clojure.contrib.str-utils)
9 (def configs (load-file "etc/config/config.test.clj"))
13 (deftest test-http-get
15 (let [result-GET (execute-http-call
16 (str (:url-test configs) "/thing")
18 { "Content-Type" "text/xml" }
21 (println "test result [" result-GET "]")
22 (is (not (nil? result-GET)) "GET result should not be nil")
23 (is (. (:msg result-GET ) equals "OK"))
24 (is (. (:code result-GET ) equals 200))
26 (let [ parsed-test (clojure.xml/parse (ByteArrayInputStream. (.getBytes
27 (clojure.contrib.str-utils/str-join nil (:body-seq result-GET )) ;; get the XML string
30 (is ;; test that there is a 'thing' keyword , that can evaluate on a hash
31 (. ((:tag parsed-test) {:thing "result" }) equals
41 (deftest test-http-put
44 (let [result-PUT (execute-http-call
45 (str (:url-test configs) "/test/test-good-http-put")
47 { "Content-Type" "text/xml" "Authorization" (str "Basic " (:passwdBase64 configs)) }
48 "<test-good-http-put/>"
51 (println "test result [" result-PUT "]")
52 (is (not (nil? result-PUT)) "PUT result should not be nil")
53 (is (. (:code result-PUT ) equals 201) "response code SHOULD be 201" )
54 (is (. (:msg result-PUT ) equals "Created") "test xml should have been 'Created'" )
58 (let [result-PUT (execute-http-call
59 (str (:url-test configs) "/test/test-bad-passwd")
61 { "Content-Type" "text/xml" "Authorization" "Basic badpasswd" }
65 (println "test result [" result-PUT "]")
66 (is (not (nil? result-PUT)) "PUT result should not be nil")
67 (is (. (:code result-PUT ) equals 500) "response code SHOULD be 500" )
68 (is (. (:msg result-PUT ) equals "Error") "test PUT should return 'Error'" )
71 ;; test no Authorization TODO - this should fail
72 (comment (let [result-PUT (execute-http-call
73 (str (:url-test configs) "/test/test-no-authorization" )
75 { "Content-Type" "text/xml" }
76 "<test-no-authorization/>"
79 (println "test result [" result-PUT "]")
80 (is (not (nil? result-PUT)) "PUT result should not be nil")
81 (is (. (:code result-PUT ) equals 401) "response code SHOULD be 201" )
82 (is (. (:msg result-PUT ) equals "Created") "test xml should have been 'Created'" )