Skip to content

Commit

Permalink
Test verify_hostname setting
Browse files Browse the repository at this point in the history
Remove SSL environment variables so they don't affect the tests.
  • Loading branch information
madsen committed Oct 11, 2011
1 parent d0b37b0 commit a835fc7
Showing 1 changed file with 38 additions and 1 deletion.
39 changes: 38 additions & 1 deletion t/base/ua.t
Expand Up @@ -3,10 +3,17 @@
use strict;
use Test;

plan tests => 21;
plan tests => 31;

use LWP::UserAgent;

# Prevent environment from interfering with test:
delete $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME};
delete $ENV{HTTPS_CA_FILE};
delete $ENV{HTTPS_CA_DIR};
delete $ENV{PERL_LWP_SSL_CA_FILE};
delete $ENV{PERL_LWP_SSL_CA_PATH};

my $ua = LWP::UserAgent->new;
my $clone = $ua->clone;

Expand Down Expand Up @@ -55,3 +62,33 @@ ok($ua->ssl_opts("verify_hostname"), 0);
ok($ua->ssl_opts(verify_hostname => undef), 0);
ok($ua->ssl_opts("verify_hostname"), undef);
ok(join(":", $ua->ssl_opts), "");

$ua = LWP::UserAgent->new(ssl_opts => {});
ok($ua->ssl_opts("verify_hostname"), 1);

$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
ok($ua->ssl_opts("verify_hostname"), 0);

$ua = LWP::UserAgent->new(ssl_opts => { SSL_ca_file => 'cert.dat'});
ok($ua->ssl_opts("verify_hostname"), 1);
ok($ua->ssl_opts("SSL_ca_file"), 'cert.dat');

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 1;
$ua = LWP::UserAgent->new();
ok($ua->ssl_opts("verify_hostname"), 1);

$ua = LWP::UserAgent->new(ssl_opts => {});
ok($ua->ssl_opts("verify_hostname"), 1);

$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
ok($ua->ssl_opts("verify_hostname"), 0);

$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
$ua = LWP::UserAgent->new();
ok($ua->ssl_opts("verify_hostname"), 0);

$ua = LWP::UserAgent->new(ssl_opts => {});
ok($ua->ssl_opts("verify_hostname"), 0);

$ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 1 });
ok($ua->ssl_opts("verify_hostname"), 1);

0 comments on commit a835fc7

Please sign in to comment.