r5478: *** empty log message ***
[wol.git] / tests.lisp
1 ;;;; -*- Mode: LISP; Syntax: ANSI-Common-Lisp; Base: 10 -*-
2 ;;;; *************************************************************************
3 ;;;; FILE IDENTIFICATION
4 ;;;;
5 ;;;; Id:      $Id: tests.lisp,v 1.1 2003/08/09 21:42:24 kevin Exp $
6 ;;;; Purpose: Self Test suite for WOL
7 ;;;;
8 ;;;; *************************************************************************
9
10 (in-package #:cl-user)
11 (defpackage #:wol-tests
12   (:use #:xlunit #:cl #:wol #:puri)
13   (:export #:do-tests))
14 (in-package #:wol-tests)
15
16 (import '(wol::req-recode-uri-sans-session-id wol::request-uri
17           wol::request-decoded-uri-path))
18
19 ;; Helper test fixture
20
21 (defclass test-url (test-case)
22   ((req :accessor req)))
23
24 (defmethod set-up ((self test-url))
25   (let ((uri (parse-uri "/~abcdefg~/index.html")))
26     (setf (req self) (make-instance 'wol::http-request
27                        :raw-uri uri
28                        :uri uri))))
29
30 (def-test-method test-returned-session ((self test-url) :run nil)
31   (assert-equal "abcdefg" (req-recode-uri-sans-session-id (req self))))
32  
33 (def-test-method test-recomputed-uri ((self test-url) :run nil)
34   (req-recode-uri-sans-session-id (req self))
35   (assert-equal (render-uri (request-uri (req self)) nil)
36                 "/index.html"))
37
38 (def-test-method test-decoded-uri ((self test-url) :run nil)
39   (req-recode-uri-sans-session-id (req self))
40   (assert-equal (request-decoded-uri-path (req self))
41                 "/index.html"))
42
43
44 (textui-test-run (get-suite test-url))
45
46 (defun do-tests ()
47   (or (was-successful (run (get-suite test-url)))
48       (error "Failed tests")))