diff --git a/src/NoteHub/api.clj b/src/NoteHub/api.clj index 66644ef..f77c0bd 100644 --- a/src/NoteHub/api.clj +++ b/src/NoteHub/api.clj @@ -28,8 +28,8 @@ ([success message & params] (assoc (create-response success) :message (apply format message params)))) -(defn- getURL [noteID description] - (if (description) +(defn- getURL [noteID & description] + (if description (str domain (storage/get-short-url noteID)) (str domain (sreplace noteID #" " "/")))) diff --git a/test/NoteHub/test/api.clj b/test/NoteHub/test/api.clj index 4f2104a..cbdcf0b 100644 --- a/test/NoteHub/test/api.clj +++ b/test/NoteHub/test/api.clj @@ -1,11 +1,9 @@ (ns NoteHub.test.api (:require - [NoteHub.storage :as storage]) + [NoteHub.storage :as storage]) (:use [NoteHub.api] [clojure.test])) -(def note "Hello world, this is a test note!") -(def note2 "Another test note") (def pid "somePlugin") (def pid2 "somePlugin2") @@ -14,16 +12,20 @@ (defn register-publisher-fixture [f] (def psk (storage/register-publisher pid)) (f) - (storage/revoke-publisher pid)) + (storage/revoke-publisher pid) + (storage/revoke-publisher pid2)) + +(use-fixtures :each register-publisher-fixture) (deftest api (testing "API" (testing "publisher registration" + (is (storage/valid-publisher? pid)) + (isnt (storage/valid-publisher? pid2)) (let [psk2 (storage/register-publisher pid2)] - (is (storage/valid-publisher? pid)) + (is (= psk2 (storage/get-psk pid2))) (is (storage/valid-publisher? pid2)) (is (storage/revoke-publisher pid2)) - (isnt (storage/revoke-publisher "anyPID")) (isnt (storage/valid-publisher? "any_PID")) (isnt (storage/valid-publisher? pid2)))) #_ (testing "note publishing & retrieval" @@ -43,19 +45,19 @@ (is (storage/revoke-publisher pid2)) (isnt (:success (:status (post-note note "randomPID" (get-signature pid psk2 note))))))) #_ (testing "note update" - (let [post-response (post-note note pid (get-signature pid psk note) "passwd") - note-id (:noteID post-response) - get-response (get-note note-id) - new-note "a new note!" - update-response (update-note note-id new-note pid (get-signature pid psk new-note) "passwd") - get-response-new (get-note note-id) - update-response-false (update-note note-id new-note pid (get-signature pid psk new-note) "pass") - ] - (is (:success (:status post-response))) - (is (:success (:status get-response))) - (is (:success (:status get-response-new))) - (is (:success (:status update-response))) - (isnt (:success (:status update-response-false))) - (is (= note (:note get-response))) - (is (= new-note (:note get-response-new))) - (is (= new-note (:note (get-note note-id)))))))) + (let [post-response (post-note note pid (get-signature pid psk note) "passwd") + note-id (:noteID post-response) + get-response (get-note note-id) + new-note "a new note!" + update-response (update-note note-id new-note pid (get-signature pid psk new-note) "passwd") + get-response-new (get-note note-id) + update-response-false (update-note note-id new-note pid (get-signature pid psk new-note) "pass") + ] + (is (:success (:status post-response))) + (is (:success (:status get-response))) + (is (:success (:status get-response-new))) + (is (:success (:status update-response))) + (isnt (:success (:status update-response-false))) + (is (= note (:note get-response))) + (is (= new-note (:note get-response-new))) + (is (= new-note (:note (get-note note-id))))))))