| # |
| # request.test -- test request structure (cmdurl -> dispatch) |
| # nca-073-9 |
| # |
| # Copyright (c) 1996-2000 by Netcetera AG. |
| # Copyright (c) 2001 by Apache Software Foundation. |
| # All rights reserved. |
| # |
| # See the file "license.terms" for information on usage and |
| # redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES. |
| # |
| # @(#) $Id$ |
| # |
| |
| # ----------------------------------------------------------------------------- |
| # tcltest package |
| # ----------------------------------------------------------------------------- |
| if {[lsearch [namespace children] ::tcltest] == -1} { |
| package require tcltest |
| namespace import ::tcltest::* |
| } |
| |
| # ----------------------------------------------------------------------------- |
| # util |
| # ----------------------------------------------------------------------------- |
| proc cleanParam {} { |
| web::config reset |
| web::cmdurlcfg -unset |
| web::formvar -unset |
| web::param -unset |
| web::request -reset |
| } |
| |
| proc getquerystringfromurl {url} { |
| return [string range $url [expr {[string first ? $url] + 1}] end] |
| } |
| |
| # ----------------------------------------------------------------------------- |
| # errors |
| # ----------------------------------------------------------------------------- |
| |
| # ----------------------------------------------------------------------------- |
| # request |
| # ----------------------------------------------------------------------------- |
| test request-2.1 {gen url, parse it, access params} { |
| |
| cleanParam |
| |
| set url [web::cmdurl aTstCmd found 10 tried 20] |
| set url [getquerystringfromurl $url] |
| web::dispatch -cmd "" -postdata "" -querystring $url |
| |
| set res [web::param -names] |
| } {t cmd tried found} |
| |
| test request-2.2 {plain-text querystring} { |
| |
| cleanParam |
| |
| set qstr "cmd=subscribe&lang=de" |
| web::dispatch -cmd "" -postdata "" -querystring $qstr |
| |
| set res [web::param cmd] |
| } {subscribe} |
| |
| test request-2.3 {reset} { |
| |
| cleanParam |
| |
| web::formvar -set krf23 vrf23 |
| web::param -set krp23 vrp23 |
| web::config cmdparam "myCmd" |
| set res [web::formvar -names] |
| lappend res [web::param -names] |
| lappend res [web::config cmdparam] |
| web::request -reset |
| web::config reset |
| lappend res [web::formvar -names] |
| lappend res [web::param -names] |
| lappend res [web::config cmdparam] |
| set res |
| } {krf23 krp23 myCmd {} {} cmd} |
| |
| test request-2.4 {defaultchannelname} { |
| |
| cleanParam |
| web::request -channel |
| } {stdin} |
| |
| |
| test request-3.0 {check Basic Auth translation of Apache hack} { |
| set ::env(AUTH_BASIC) {Basic d2Vic2g6cGFzcw==} |
| ::web::request -reset |
| ::web::cgi::copyenv |
| set match "[web::request AUTH_USER]*[web::request AUTH_PW]" |
| set ::env(AUTH_BASIC) {Basic d2Vic2g6cGFzczp3b3Jk} |
| ::web::request -reset |
| ::web::cgi::copyenv |
| append match "![web::request AUTH_USER]*[web::request AUTH_PW]" |
| set match |
| |
| } {websh*pass!websh*pass:word} |
| |
| # cleanup |
| ::tcltest::cleanupTests |