PageRenderTime 24ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/test/core/signature.lisp

http://github.com/skypher/cl-oauth
Lisp | 37 lines | 28 code | 7 blank | 2 comment | 0 complexity | 24e92256586304cbb6c8c6442532d22a MD5 | raw file
Possible License(s): LGPL-3.0
  1. (in-package :oauth-test)
  2. (def-suite signature :in oauth)
  3. (in-suite signature)
  4. (defvar *sample-signature-base-string*
  5. (format nil "GET&http%3A%2F%2Fphotos.example.net%2Fphotos~
  6. &file%3Dvacation.jpg%26oauth_consumer_key~
  7. %3Ddpf43f3p2l4k3l03%26oauth_nonce%3Dkllo9940pd9333jh~
  8. %26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp~
  9. %3D1191242096%26oauth_token%3Dnnch734d00sl2jdk~
  10. %26oauth_version%3D1.0%26size%3Doriginal"))
  11. ;; A.5.1
  12. (test signature-base-string/spec
  13. (let* ((*request-method* :get)
  14. (uri "http://photos.example.net/photos")
  15. (parameters (format nil "file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03~
  16. &oauth_nonce=kllo9940pd9333jh&oauth_signature_method=HMAC-SHA1~
  17. &oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk~
  18. &oauth_version=1.0&size=original"))
  19. (parameters-alist (oauth::query-string->alist parameters))
  20. (*get-parameters* parameters-alist)
  21. (signature-base-string (signature-base-string :uri uri)))
  22. (is (equal signature-base-string
  23. *sample-signature-base-string*))))
  24. ;; A.5.2
  25. (test hmac-sha1-digest/spec
  26. (let* ((key "kd94hf93k423kf44&pfkkdhi9sl3r4s00")
  27. (text *sample-signature-base-string*)
  28. (digest (hmac-sha1 text key))
  29. (digest/base64 (cl-base64:usb8-array-to-base64-string digest)))
  30. (is (equal digest/base64 "tR3+Ty81lMeYAr/Fid0kMTYa/WM="))))