my $maindir = "$tmpdir/main.git";
my $group = 'test-nntpd';
my $addr = $group . '@example.com';
-my $cfgpfx = "publicinbox.$group";
my $nntpd = 'blib/script/public-inbox-nntpd';
my $init = 'blib/script/public-inbox-init';
use_ok 'PublicInbox::Import';
{
local $ENV{HOME} = $home;
system($init, $group, $maindir, 'http://example.com/', $addr);
+ is(system(qw(git config), "--file=$home/.public-inbox/config",
+ "publicinbox.$group.newsgroup", $group),
+ 0, 'enabled newsgroup');
my $len;
# ensure successful message delivery
This is a test message for El\xc3\xa9anor
EOF
- $mime->header_set('List-Id', "<$addr>");
+ my $list_id = $addr;
+ $list_id =~ s/@/./;
+ $mime->header_set('List-Id', "<$list_id>");
$len = length($mime->as_string);
my $git = PublicInbox::Git->new($maindir);
my $im = PublicInbox::Import->new($git, 'test', $addr);
$len,
'1' ] }, "XOVER by article works");
+ is_deeply($n->head(1), $n->head('<nntp@example.com>'), 'HEAD OK');
+ is_deeply($n->body(1), $n->body('<nntp@example.com>'), 'BODY OK');
+ is($n->body(1)->[0], "This is a test message for El\xc3\xa9anor\n",
+ 'body really matches');
+ my $art = $n->article(1);
+ is(ref($art), 'ARRAY', 'got array for ARTICLE');
+ is_deeply($art, $n->article('<nntp@example.com>'), 'ARTICLE OK');
+ is($n->article(999), undef, 'non-existent num');
+ is($n->article('<non-existent@example>'), undef, 'non-existent mid');
+
{
syswrite($s, "OVER $mid\r\n");
$buf = read_til_dot($s);
is_deeply($n->xhdr(qw(list-id 1-)), {},
'XHDR on invalid header returns empty');
+ {
+ my $t0 = time;
+ my $date = $n->date;
+ my $t1 = time;
+ ok($date >= $t0, 'valid date after start');
+ ok($date <= $t1, 'valid date before stop');
+ }
+
{
setsockopt($s, IPPROTO_TCP, TCP_NODELAY, 1);
syswrite($s, 'HDR List-id 1-');
is(scalar @r, 1, 'only one response line');
}
+ $n = $s = undef;
is($pid, waitpid($pid, 0), 'nntpd exited successfully');
my $eout = eval {
local $/;