App-CamelPKI
view release on metacpan or search on metacpan
lib/App/CamelPKI/CADB.pm view on Meta::CPAN
}
$cadb->commit();
@queries = ();
my $cursor = $cadb->search(-revoked => undef);
foreach my $i (1..100) {
ok($cursor->has_more);
is($cursor->infos->{foo}->[0], "bar");
is($cursor->infos->{baz}->[0], "quux");
$cursor->next;
}
ok(! $cursor->has_more);
cmp_ok(scalar(@queries), "<", 10,
"the number of requests is sub-linear "
. "wrt the number of fetched certificates");
};
change_db_dir();
test "REGRESSION: searching by infos must not mask some of them"
=> sub {
my $cadb = open_db;
my $cert = App::CamelPKI::Certificate->parse
($test_self_signed_certs{"rsa2048"});
$cadb->add($cert, foo => "bar", baz => [ "quux", "bloggs" ]);
# Witness Experiency:
my $cursor = $cadb->search();
is($cursor->count, 1);
my $infos = $cursor->infos;
is($infos->{foo}->[0], "bar")
or warn Data::Dumper::Dumper($infos);
is_deeply([sort @{$infos->{baz}}], [qw(bloggs quux)]);
# Experiency test:
$cursor = $cadb->search(foo => "bar");
is($cursor->count, 1);
is_deeply(scalar($cursor->infos), $infos)
or warn Data::Dumper::Dumper(scalar($cursor->infos));
};
change_db_dir();
test "synopsis" => sub {
my $code = My::Tests::Below->pod_code_snippet("synopsis");
$code =~ s/\bmy /our /g;
my $dir = $testdir;
my $certificate = $cert;
eval "package Synopsis; $code"; fail($@) if $@;
cmp_ok($Synopsis::serial, ">=", 2);
ok($Synopsis::cadb->isa("App::CamelPKI::CADB"));
ok($Synopsis::cursor->isa("App::CamelPKI::CADB::Cursor"));
is($Synopsis::cert->serialize(), $certificate->serialize());
is($Synopsis::infos{foo}->[0], "bar");
is_deeply([sort @{$Synopsis::infos{baz}}], [qw(bloggs quux)]);
like($Synopsis::revocation_time, qr/^\d{4}\d{2}\d{2}\d{2}\d{2}\d{2}Z$/,
"revocation time looks ok");
is($Synopsis::revocation_reason, "keyCompromise");
is($Synopsis::compromise_time, "20070313104800Z");
};
=end internals
=cut
( run in 1.584 second using v1.01-cache-2.11-cpan-6aa56a78535 )