From f3203b86265a2498b08d0a9bd5e77c413484df28 Mon Sep 17 00:00:00 2001 From: Micah Cowan Date: Mon, 7 Sep 2009 23:09:15 -0700 Subject: [PATCH] Test for Content-Disposition in HTTP auth. --- tests/ChangeLog | 5 +++ tests/Makefile.am | 5 ++- tests/Test-auth-with-content-disposition.px | 50 +++++++++++++++++++++ tests/run-px | 1 + 4 files changed, 59 insertions(+), 2 deletions(-) create mode 100755 tests/Test-auth-with-content-disposition.px diff --git a/tests/ChangeLog b/tests/ChangeLog index 7c8eb710..02c64d2e 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,10 @@ 2009-09-07 Micah Cowan + * 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. diff --git a/tests/Makefile.am b/tests/Makefile.am index cd6df8d8..f1ae27ef 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 \ diff --git a/tests/Test-auth-with-content-disposition.px b/tests/Test-auth-with-content-disposition.px new file mode 100755 index 00000000..a8849d8d --- /dev/null +++ b/tests/Test-auth-with-content-disposition.px @@ -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 + diff --git a/tests/run-px b/tests/run-px index 1a441c7b..5b2f6b5c 100755 --- a/tests/run-px +++ b/tests/run-px @@ -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', -- 2.39.2