]> git.proxmox.com Git - pve-manager.git/blobdiff - test/vzdump_guest_included_test.pl
api: nodes: add full info about current kernel from uname call
[pve-manager.git] / test / vzdump_guest_included_test.pl
index 33748513131998c55d141c4d4e8ae3197caa957b..157644de3770e19e75feb1517787f310adaca42a 100755 (executable)
@@ -1,15 +1,11 @@
 #!/usr/bin/perl
 
-# Some of the tests can only be applied once the whole include logic is moved
-# into one single method. Right now parts of it, (all, exclude)  are in the
-# PVE::VZDump->exec_backup() method.
-
 use strict;
 use warnings;
 
 use lib '..';
 
-use Test::More tests => 7;
+use Test::More tests => 10;
 use Test::MockModule;
 
 use PVE::VZDump;
@@ -87,84 +83,82 @@ my $addtest = sub {
     };
 };
 
-# is handled in the PVE::VZDump->exec_backup() method for now
-# $addtest->('Test all guests', {
-#     expected_vmids => [ 100, 101, 112, 113, 200, 201, 212, 213 ],
-#     expected_skiplist => [ ],
-#     param => {
-#      all => 1,
-#     }
-# });
-
-# is handled in the PVE::VZDump->exec_backup() method for now
-# $addtest->('Test all guests with cluster node limit', {
-#     expected_vmids => [ 100, 101, 112, 113, 200, 201, 212, 213 ],
-#     expected_skiplist => [],
-#     param => {
-#      all => 1,
-#      node => 'node2',
-#     }
-# });
-
-# is handled in the PVE::VZDump->exec_backup() method for now
-# $addtest->('Test all guests with local node limit', {
-#     expected_vmids => [ 100, 101, 112, 113 ],
-#     expected_skiplist => [ 200, 201, 212, 213 ],
-#     param => {
-#      all => 1,
-#      node => 'node1',
-#     }
-# });
-#
-# TODO: all test variants with exclude
-
-$addtest->('Test pool members', {
-    expected_vmids => [ 100, 101 ],
-    expected_skiplist => [ 200, 201 ],
+$addtest->('Test all guests', {
+    expected => {
+       node1 => [ 100, 101, 112, 113 ],
+       node2 => [ 200, 201, 212, 213 ],
+    },
     param => {
-       pool => 'testpool',
+       all => 1,
     }
 });
 
-$addtest->('Test pool members with cluster node limit', {
-    expected_vmids => [ 100, 101, 200, 201 ],
-    expected_skiplist => [],
+$addtest->('Test all guests with node limit', {
+    expected => {
+       node2 => [ 200, 201, 212, 213 ],
+    },
     param => {
-       pool => 'testpool',
+       all => 1,
        node => 'node2',
     }
 });
 
-$addtest->('Test pool members with local node limit', {
-    expected_vmids => [ 100, 101 ],
-    expected_skiplist => [ 200, 201 ],
+$addtest->('Test exclude', {
+    expected => {
+       node1 =>[ 101, 112, 113 ],
+       node2 => [ 201, 212,  213 ],
+    },
     param => {
-       pool => 'testpool',
+       all => 1,
+       exclude => '100, 102, 200, 202',
+    }
+});
+
+$addtest->('Test exclude with node limit', {
+    expected => {
+       node1 =>[ 101, 112, 113 ],
+    },
+    param => {
+       all => 1,
+       exclude => '100, 102, 200, 202',
        node => 'node1',
     }
 });
 
-$addtest->('Test selected VMIDs', {
-    expected_vmids => [ 100 ],
-    expected_skiplist => [ 201, 212 ],
+$addtest->('Test pool members', {
+    expected => {
+       node1 =>[ 100, 101 ],
+       node2 => [ 200, 201 ],
+    },
     param => {
-       vmid => '100, 201, 212',
+       pool => 'testpool',
     }
 });
 
+$addtest->('Test pool members with node limit', {
+    expected => {
+       node2 => [ 200, 201 ],
+    },
+    param => {
+       pool => 'testpool',
+       node => 'node2',
+    }
+});
 
-$addtest->('Test selected VMIDs with cluster node limit', {
-    expected_vmids => [ 100, 201, 212 ],
-    expected_skiplist => [],
+$addtest->('Test selected VMIDs', {
+    expected => {
+       node1 =>[ 100 ],
+       node2 => [ 201, 212 ],
+    },
     param => {
        vmid => '100, 201, 212',
-       node => 'node2',
     }
 });
 
-$addtest->('Test selected VMIDs with local node limit', {
-    expected_vmids => [ 100 ],
-    expected_skiplist => [ 201, 212 ],
+$addtest->('Test selected VMIDs with node limit', {
+    expected => {
+       node1 =>[ 100 ],
+    },
     param => {
        vmid => '100, 201, 212',
        node => 'node1',
@@ -172,29 +166,35 @@ $addtest->('Test selected VMIDs with local node limit', {
 });
 
 $addtest->('Test selected VMIDs on other nodes', {
-    expected_vmids => [],
-    expected_skiplist => [ 201, 212 ],
+    expected => {
+    },
     param => {
        vmid => '201, 212',
        node => 'node1',
     }
 });
 
+$addtest->('Test VMID not present in vmlist', {
+    expected => {
+       node1 => [ 100 ],
+       node2 => [ 201, 212 ],
+       '' => [ 7654 ],
+   },
+    param => {
+       vmid => '100, 201, 212, 7654',
+    }
+});
+
 
 for my $test (@{$tests}) {
     my $testname = $test->{name};
     my $testdata = $test->{test};
 
-    note($testname);
-    my $expected = [ $testdata->{expected_vmids}, $testdata->{expected_skiplist} ];
-
-    my ($local, $cluster)  = PVE::VZDump::get_included_guests($testdata->{param});
-    my $result = [ $local, $cluster ];
+    # note($testname);
 
-    # print "Expected: " . Dumper($expected);
-    # print "Returned: " . Dumper($result);
+    my $result  = PVE::VZDump::get_included_guests($testdata->{param});
 
-    is_deeply($result, $expected, $testname);
+    is_deeply($result, $testdata->{expected}, $testname);
 }
 
 exit(0);