# $Id: google.t,v 1.4 2005/06/09 15:04:31 lem Exp $ use IO::File; use Test::More; my $loaded = 0; my $config = "test$$.cfg"; my $tests = 15; package MyReport; use base 'Mail::Abuse::Report'; sub new { bless {}, ref $_[0] || $_[0] }; package main; END { unlink $config; }; plan tests => $tests; SKIP: { skip "These tests have been disabled as Google changed its interface\n", $tests--; unless (exists $ENV{GOOGLE_PROXY}) { diag ""; diag "See file TESTING if your network requires the use of proxies."; diag "If this is the case, some tests may fail until " . "you follow directions."; diag "Tests will be attempted anyway."; } use_ok('Mail::Abuse::Reader::GoogleGroups'); my $fh = new IO::File; skip "Failed to create temp config $config: $! (FATAL)\n", $tests-- unless ($fh->open($config, "w")); if ($ENV{GOOGLE_PROXY}) { print $fh &Mail::Abuse::Reader::GoogleGroups::PROXY, ": ", $ENV{GOOGLE_PROXY}, "\n"; } print $fh &Mail::Abuse::Reader::GoogleGroups::QUERY, ": net\n"; print $fh &Mail::Abuse::Reader::GoogleGroups::MAX, ": 2\n"; # Uncomment the following line to get debug output. This is useful # when reporting bugs... # print $fh &Mail::Abuse::Reader::GoogleGroups::DEBUG, ": on\n"; $fh->close; skip "Failed to load Mail::Abuse::Reader::GoogleGroups", $tests-- unless use_ok('Mail::Abuse::Reader::GoogleGroups'); skip "You don't seem to be connected to the Internet, so the " . "remaining tests cannot complete.", $tests-- unless gethostbyname('www.google.com'); my $r = new Mail::Abuse::Reader::GoogleGroups; isa_ok($r, 'Mail::Abuse::Reader::GoogleGroups'); isa_ok($r, 'Mail::Abuse::Reader'); my $rep = new Mail::Abuse::Report (config => $config, # debug => 1, reader => $r); isa_ok($rep, 'Mail::Abuse::Report'); for my $i (0 .. 1) { my $res = undef; eval { $res = $rep->next; }; unless (ok(!$@, "[$i] ->next worked")) { diag "[$i] eval returned:\n$@"; } ok($res, "[$i] Positive result for ->next"); ok($rep->text, "[$i] Actually fetched a message"); ok($ {$rep->text}, "[$i] The message contains data"); # diag "Message text:\n" . $ {$rep->text}; } eval { $res = $rep->next; }; unless (ok(!$@, "->last next worked")) { diag "eval returned:\n$@"; } ok(!$res, "Negative result for last ->next"); };