summaryrefslogtreecommitdiffstats
path: root/t/handle_added_archives_with_db.t
diff options
context:
space:
mode:
Diffstat (limited to 't/handle_added_archives_with_db.t')
-rw-r--r--t/handle_added_archives_with_db.t28
1 files changed, 24 insertions, 4 deletions
diff --git a/t/handle_added_archives_with_db.t b/t/handle_added_archives_with_db.t
index 6fd94ea..40f79c7 100644
--- a/t/handle_added_archives_with_db.t
+++ b/t/handle_added_archives_with_db.t
@@ -23,6 +23,7 @@ for my $in_memory (0,1) {
$cb->("XXX, 1970-01-01 00:00:10 boot");
$cb->("XXX, 1970-01-01 00:00:20 boot/grub");
$cb->("XXX, 1970-01-01 00:00:08 boot/grub/grub.cfg");
+ $cb->("XXX, 1970-01-01 00:00:09 boot/grub/grub.cfg.sig");
$cb->("XXX, 1970-01-01 00:00:13 boot/foo");
$cb->("XXX, 1970-01-01 00:00:13 boot/foo/blub");
$cb->("XXX, 1970-01-01 00:00:19 boot/foo/bar");
@@ -31,6 +32,7 @@ for my $in_memory (0,1) {
$cb->("XXX, 1970-01-01 00:00:04 boot/test1/f2");
$cb->("XXX, 1970-01-01 00:00:03 boot/test1/f3");
$cb->("XXX, 1970-01-01 00:00:02 boot/test1/f4");
+ $cb->("XXX, 1970-01-01 00:00:10 boot1");
$cb->("XXX, 1970-01-01 00:00:03 etc");
$cb->("XXX, 1970-01-01 00:00:02 etc/foo");
$cb->("XXX, 1970-01-01 00:00:01 etc/foo/bar");
@@ -42,7 +44,7 @@ for my $in_memory (0,1) {
$app->_handle_added_archives(['archive-1']);
# check database content
- is($db->get_archive_row_count(), 15, 'correct row count (15 paths with timestamps)');
+ is($db->get_archive_row_count(), 17, 'correct row count (17 paths with timestamps)');
eq_or_diff($db->get_archives_for_path('.'), [{archive => 'archive-1', modification_time => undef},]);
eq_or_diff($db->get_archives_for_path('boot'), [{archive => 'archive-1', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/foo'), [{archive => 'archive-1', modification_time => 19},]);
@@ -50,11 +52,13 @@ for my $in_memory (0,1) {
eq_or_diff($db->get_archives_for_path('boot/foo/blub'), [{archive => 'archive-1', modification_time => 13},]);
eq_or_diff($db->get_archives_for_path('boot/grub'), [{archive => 'archive-1', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg'), [{archive => 'archive-1', modification_time => 8},]);
+ eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg.sig'), [{archive => 'archive-1', modification_time => 9},]);
eq_or_diff($db->get_archives_for_path('boot/test1'), [{archive => 'archive-1', modification_time => 4},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f1'), [{archive => 'archive-1', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f2'), [{archive => 'archive-1', modification_time => 4},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f3'), [{archive => 'archive-1', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f4'), [{archive => 'archive-1', modification_time => 2},]);
+ eq_or_diff($db->get_archives_for_path('boot1'), [{archive => 'archive-1', modification_time => 10},]);
eq_or_diff($db->get_archives_for_path('etc'), [{archive => 'archive-1', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('etc/foo'), [{archive => 'archive-1', modification_time => 2},]);
eq_or_diff($db->get_archives_for_path('etc/foo/bar'), [{archive => 'archive-1', modification_time => 1},]);
@@ -70,6 +74,7 @@ for my $in_memory (0,1) {
$cb->("XXX, 1970-01-01 00:00:10 boot");
$cb->("XXX, 1970-01-01 00:00:20 boot/grub");
$cb->("XXX, 1970-01-01 00:00:08 boot/grub/grub.cfg");
+ $cb->("XXX, 1970-01-01 00:00:09 boot/grub/grub.cfg.sig");
$cb->("XXX, 1970-01-01 00:00:13 boot/foo");
$cb->("XXX, 1970-01-01 00:00:13 boot/foo/blub");
$cb->("XXX, 1970-01-01 00:00:19 boot/foo/bar");
@@ -79,6 +84,7 @@ for my $in_memory (0,1) {
$cb->("XXX, 1970-01-01 00:00:03 boot/test1/f3");
$cb->("XXX, 1970-01-01 00:00:02 boot/test1/f4");
$cb->("XXX, 1970-01-01 00:00:07 boot/test1/f5");
+ $cb->("XXX, 1970-01-01 00:00:10 boot1");
$cb->("XXX, 1970-01-01 00:00:03 etc");
$cb->("XXX, 1970-01-01 00:00:02 etc/foo");
$cb->("XXX, 1970-01-01 00:00:01 etc/foo/bar");
@@ -86,7 +92,7 @@ for my $in_memory (0,1) {
$app->_handle_added_archives(['archive-2']);
# check database content
- is($db->get_archive_row_count(), 16, 'correct row count (16 paths with timestamps)');
+ is($db->get_archive_row_count(), 18, 'correct row count (18 paths with timestamps)');
eq_or_diff($db->get_archives_for_path('.'), [
{archive => 'archive-1', modification_time => undef},
{archive => 'archive-2', modification_time => undef},
@@ -115,6 +121,10 @@ for my $in_memory (0,1) {
{archive => 'archive-1', modification_time => 8},
{archive => 'archive-2', modification_time => 8},
]);
+ eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg.sig'), [
+ {archive => 'archive-1', modification_time => 9},
+ {archive => 'archive-2', modification_time => 9},
+ ]);
eq_or_diff($db->get_archives_for_path('boot/test1'), [
{archive => 'archive-1', modification_time => 4},
{archive => 'archive-2', modification_time => 7},
@@ -139,6 +149,10 @@ for my $in_memory (0,1) {
{archive => 'archive-1', modification_time => undef},
{archive => 'archive-2', modification_time => 7},
]);
+ eq_or_diff($db->get_archives_for_path('boot1'), [
+ {archive => 'archive-1', modification_time => 10},
+ {archive => 'archive-2', modification_time => 10},
+ ]);
eq_or_diff($db->get_archives_for_path('etc'), [
{archive => 'archive-1', modification_time => 3},
{archive => 'archive-2', modification_time => 3},
@@ -164,7 +178,7 @@ for my $in_memory (0,1) {
$app->_handle_removed_archives(['archive-2']);
# check database contents
- is($db->get_archive_row_count(), 15, 'correct row count (15 paths with timestamps)');
+ is($db->get_archive_row_count(), 17, 'correct row count (17 paths with timestamps)');
eq_or_diff($db->get_archives_for_path('.'), [{archive => 'archive-2', modification_time => undef},]);
eq_or_diff($db->get_archives_for_path('boot'), [{archive => 'archive-2', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/foo'), [{archive => 'archive-2', modification_time => 19},]);
@@ -172,12 +186,14 @@ for my $in_memory (0,1) {
eq_or_diff($db->get_archives_for_path('boot/foo/blub'), [{archive => 'archive-2', modification_time => 13},]);
eq_or_diff($db->get_archives_for_path('boot/grub'), [{archive => 'archive-2', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg'), [{archive => 'archive-2', modification_time => 8},]);
+ eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg.sig'), [{archive => 'archive-2', modification_time => 9},]);
eq_or_diff($db->get_archives_for_path('boot/test1'), [{archive => 'archive-2', modification_time => 7},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f1'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f2'), [{archive => 'archive-2', modification_time => 5},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f3'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f4'), [{archive => 'archive-2', modification_time => 2},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f5'), [{archive => 'archive-2', modification_time => 7},]);
+ eq_or_diff($db->get_archives_for_path('boot1'), [{archive => 'archive-2', modification_time => 10},]);
eq_or_diff($db->get_archives_for_path('etc'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('etc/foo'), [{archive => 'archive-2', modification_time => 2},]);
eq_or_diff($db->get_archives_for_path('etc/foo/bar'), [{archive => 'archive-2', modification_time => 1},]);
@@ -186,7 +202,7 @@ for my $in_memory (0,1) {
# run remove again. shouldn't change anything
$app->_handle_removed_archives(['archive-2']);
- is($db->get_archive_row_count(), 15, 'correct row count (15 paths with timestamps)');
+ is($db->get_archive_row_count(), 17, 'correct row count (17 paths with timestamps)');
eq_or_diff($db->get_archives_for_path('.'), [{archive => 'archive-2', modification_time => undef},]);
eq_or_diff($db->get_archives_for_path('boot'), [{archive => 'archive-2', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/foo'), [{archive => 'archive-2', modification_time => 19},]);
@@ -194,12 +210,14 @@ for my $in_memory (0,1) {
eq_or_diff($db->get_archives_for_path('boot/foo/blub'), [{archive => 'archive-2', modification_time => 13},]);
eq_or_diff($db->get_archives_for_path('boot/grub'), [{archive => 'archive-2', modification_time => 20},]);
eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg'), [{archive => 'archive-2', modification_time => 8},]);
+ eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg.sig'), [{archive => 'archive-2', modification_time => 9},]);
eq_or_diff($db->get_archives_for_path('boot/test1'), [{archive => 'archive-2', modification_time => 7},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f1'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f2'), [{archive => 'archive-2', modification_time => 5},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f3'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f4'), [{archive => 'archive-2', modification_time => 2},]);
eq_or_diff($db->get_archives_for_path('boot/test1/f5'), [{archive => 'archive-2', modification_time => 7},]);
+ eq_or_diff($db->get_archives_for_path('boot1'), [{archive => 'archive-2', modification_time => 10},]);
eq_or_diff($db->get_archives_for_path('etc'), [{archive => 'archive-2', modification_time => 3},]);
eq_or_diff($db->get_archives_for_path('etc/foo'), [{archive => 'archive-2', modification_time => 2},]);
eq_or_diff($db->get_archives_for_path('etc/foo/bar'), [{archive => 'archive-2', modification_time => 1},]);
@@ -218,12 +236,14 @@ for my $in_memory (0,1) {
eq_or_diff($db->get_archives_for_path('boot/foo/blub'), []);
eq_or_diff($db->get_archives_for_path('boot/grub'), []);
eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg'), []);
+ eq_or_diff($db->get_archives_for_path('boot/grub/grub.cfg.sig'), []);
eq_or_diff($db->get_archives_for_path('boot/test1'), []);
eq_or_diff($db->get_archives_for_path('boot/test1/f1'), []);
eq_or_diff($db->get_archives_for_path('boot/test1/f2'), []);
eq_or_diff($db->get_archives_for_path('boot/test1/f3'), []);
eq_or_diff($db->get_archives_for_path('boot/test1/f4'), []);
eq_or_diff($db->get_archives_for_path('boot/test1/f5'), []);
+ eq_or_diff($db->get_archives_for_path('boot1'), []);
eq_or_diff($db->get_archives_for_path('etc'), []);
eq_or_diff($db->get_archives_for_path('etc/foo'), []);
eq_or_diff($db->get_archives_for_path('etc/foo/bar'), []);