Test for Content-Disposition in HTTP auth.

This commit is contained in:
Micah Cowan 2009-09-07 23:09:15 -07:00
parent aab7dadc9a
commit f3203b8626
4 changed files with 59 additions and 2 deletions

View File

@ -1,5 +1,10 @@
2009-09-07 Micah Cowan <micah@cowan.name>
* Test-auth-with-content-disposition.px: New. Test Content-Disposition
support when HTTP authentication is required.
* run-px, Makefile.am (EXTRA_DIST): Added
Test-auth-with-content-disposition.px.
* FTPServer.pm (FTPServer::run): Pass "server behavior" information to
newly-constructed FTPPaths object.
(FTPPaths::initialize): Accept "server behavior" hash.

View File

@ -64,6 +64,7 @@ EXTRA_DIST = FTPServer.pm FTPTest.pm HTTPServer.pm HTTPTest.pm \
Test-auth-basic.px \
Test-auth-no-challenge.px \
Test-auth-no-challenge-url.px \
Test-auth-with-content-disposition.px \
Test-c-full.px \
Test-c-partial.px \
Test-c.px \
@ -73,8 +74,8 @@ EXTRA_DIST = FTPServer.pm FTPTest.pm HTTPServer.pm HTTPTest.pm \
Test-E-k-K.px \
Test-E-k.px \
Test-ftp.px \
Test-ftp-pasv-fail.px \
Test-ftp-bad-list.px \
Test-ftp-pasv-fail.px \
Test-ftp-bad-list.px \
Test-ftp-recursive.px \
Test-ftp-iri.px \
Test-ftp-iri-fallback.px \

View File

@ -0,0 +1,50 @@
#!/usr/bin/perl
use strict;
use warnings;
use HTTPTest;
###############################################################################
my $wholefile = "You're all authenticated.\n";
# code, msg, headers, content
my %urls = (
'/needs-auth.txt' => {
auth_method => 'Basic',
user => 'fiddle-dee-dee',
passwd => 'Dodgson',
code => "200",
msg => "You want fries with that?",
headers => {
"Content-type" => "text/plain",
"Content-Disposition" => "attachment; filename=\"Flubber\"",
},
content => $wholefile,
},
);
my $cmdline = $WgetTest::WGETPATH . " --user=fiddle-dee-dee --password=Dodgson"
. " --content-disposition http://localhost:{{port}}/needs-auth.txt";
my $expected_error_code = 0;
my %expected_downloaded_files = (
'Flubber' => {
content => $wholefile,
},
);
###############################################################################
my $the_test = HTTPTest->new (name => "Test-auth-with-content-disposition",
input => \%urls,
cmdline => $cmdline,
errcode => $expected_error_code,
output => \%expected_downloaded_files);
exit $the_test->run();
# vim: et ts=4 sw=4

View File

@ -13,6 +13,7 @@ my @tests = (
'Test-auth-basic.px',
'Test-auth-no-challenge.px',
'Test-auth-no-challenge-url.px',
'Test-auth-with-content-disposition.px',
'Test-cookies.px',
'Test-cookies-401.px',
'Test-proxy-auth-basic.px',