You are viewing a plain text version of this content. The canonical link for it is here.
Posted to test-cvs@httpd.apache.org by st...@apache.org on 2002/02/05 10:08:41 UTC

cvs commit: httpd-test/perl-framework/t/modules autoindex2.t

stas        02/02/05 01:08:41

  Modified:    perl-framework/t/conf extra.conf.in
  Added:       perl-framework/t/modules autoindex2.t
  Log:
  - test the sub-dirs with broken .htaccess, protected and no
  problems/restrictions.
  
  this is a new test since it's hard to add this test on top of the original
  autoindex test, because of a different logic and configuration.
  
  Revision  Changes    Path
  1.34      +4 -0      httpd-test/perl-framework/t/conf/extra.conf.in
  
  Index: extra.conf.in
  ===================================================================
  RCS file: /home/cvs/httpd-test/perl-framework/t/conf/extra.conf.in,v
  retrieving revision 1.33
  retrieving revision 1.34
  diff -u -r1.33 -r1.34
  --- extra.conf.in	5 Jan 2002 17:20:33 -0000	1.33
  +++ extra.conf.in	5 Feb 2002 09:08:41 -0000	1.34
  @@ -310,6 +310,10 @@
           Options +Indexes
           AllowOverride Indexes
       </Directory>
  +    <Directory @SERVERROOT@/htdocs/modules/autoindex2>
  +        Options +Indexes
  +        AllowOverride  All
  +    </Directory>
   </IfModule>
   
   ##
  
  
  
  1.1                  httpd-test/perl-framework/t/modules/autoindex2.t
  
  Index: autoindex2.t
  ===================================================================
  use strict;
  use warnings FATAL => 'all';
  
  use File::Spec::Functions qw(catfile catdir);
  
  use Apache::Test;
  use Apache::TestUtil;
  use Apache::TestRequest;
  
  ##
  ## mod_autoindex test part II
  ##
  ## this tests how mod_autoindex handles sub-dirs:
  ## normal, with protected access, with broken .htaccess, etc...
  
  #my $cfg = Apache::Test::config();
  my $vars = Apache::Test::config()->{vars};
  my $documentroot = $vars->{documentroot};
  my $base_dir = catdir $documentroot, "modules", "autoindex2";
  my $base_uri = "/modules/autoindex2";
  
  # which sub-dir listings should be seen in mod_autoindex's output
  # 1 == should appear
  # 0 == should not appear
  my %dirs = (
     dir_normal    => 1, # obvious
     dir_protected => 1, # 
     dir_broken    => 0, # 
  );
  
  plan tests => 3;
  
  setup();
  
  my $res = GET_BODY "$base_uri/";
  
  # simply test whether we get the sub-dir listed or not
  for my $dir (sort keys %dirs) {
      my $found = $res =~ /$dir/ ? 1 : 0;
      ok t_cmp($dirs{$dir}, 
               $found, 
               "$dir should @{[$dirs{$dir}?'':'not ']}be listed");
  }
  
  sub setup {
      t_mkdir $base_dir;
  
      ### normal dir
      t_mkdir catdir $base_dir, "dir_normal";
  
      ### passwd protected dir
      my $prot_dir = catdir $base_dir, "dir_protected";
      # htpasswd file
      t_write_file catfile($prot_dir, "htpasswd"), "nobody:HIoD8SxAgkCdQ";
      # .htaccess file
      my $content = <<CONTENT;
  AuthType Basic
  AuthName "Restricted Directory"
  AuthUserFile $prot_dir/htpasswd
  Require valid user
  CONTENT
      t_write_file catfile($prot_dir, ".htaccess"), $content;
  
      ### dir with a broken .htaccess
      my $broken_dir = catdir $base_dir, "dir_broken";
      t_write_file catfile($broken_dir, ".htaccess"),
                  "This_is_a_broken_on_purpose_.htaccess_file";
  
  }