/test/core/request-adapter.lisp

http://github.com/skypher/cl-oauth · Lisp · 43 lines · 34 code · 6 blank · 3 comment · 0 complexity · 68b1f0cf1bd4d332dd6d25ebf796312b MD5 · raw file

  1. (in-package :oauth-test)
  2. (defvar *request-object* nil)
  3. (defvar *request-method* :get)
  4. (defvar *request-uri* "http://host.domain/path")
  5. (defvar *auth-parameters* nil)
  6. (defvar *post-parameters* nil)
  7. (defvar *get-parameters* nil)
  8. (defun make-test-request-adapter ()
  9. (make-request-adapter :request-object-fn (lambda ()
  10. ;; prevent caching.
  11. ;; TODO: use private caches for testing
  12. ;; so we don't interfere with live data.
  13. (or *request-object* (random most-positive-fixnum)))
  14. :request-method-fn (lambda (request)
  15. (declare (ignore request))
  16. *request-method*)
  17. :request-uri-fn (lambda (request)
  18. (declare (ignore request))
  19. *request-uri*)
  20. :auth-parameters-fn (lambda (request)
  21. (declare (ignore request))
  22. *auth-parameters*)
  23. :post-parameters-fn (lambda (request)
  24. (declare (ignore request))
  25. *post-parameters*)
  26. :get-parameters-fn (lambda (request)
  27. (declare (ignore request))
  28. *get-parameters*)))
  29. (defun init-test-request-adapter ()
  30. (setf *request-adapter* (make-test-request-adapter)))
  31. (defmethod asdf:perform ((o asdf:test-op) (c (eql (asdf:find-system :cl-oauth))))
  32. (let ((original-request-adapter *request-adapter*))
  33. (unwind-protect
  34. (progn
  35. (init-test-request-adapter)
  36. (fiveam:run! 'oauth))
  37. (setf *request-adapter* original-request-adapter))))