(module api-test mzscheme
(require (lib "list.ss" "srfi" "1")
(lib "time.ss" "srfi" "19")
(lib "comprehensions.ss" "srfi" "42")
(file "delicious.ss")
(file "test-base.ss")
(file "throttle.ss"))
(provide api-tests)
(define api-tests
(test-suite
"api.ss"
#:before (lambda ()
(for-each delete-post! (all-posts))
(for-each delete-bundle! (all-bundles)))
#:after (lambda ()
(for-each delete-post! (all-posts))
(for-each delete-bundle! (all-bundles)))
(test-case
"add-post! adds a post"
(let* ([now (time-tai->date (current-time time-tai))]
[post (make-post "http://www.plt-scheme.org"
"PLT Scheme"
"The home of PLT Scheme"
(list "plt" "scheme")
now)])
(check-not-exn (lambda ()
(add-post! post)))
(let ([posts (get-posts)])
(check-equal? (post-url (car posts)) "http://www.plt-scheme.org/")
(check-equal? (post-description (car posts)) "PLT Scheme")
(check-equal? (post-extended (car posts)) "The home of PLT Scheme")
(check-equal? (post-tags (car posts)) (list "plt" "scheme"))
)))
))
)