use PVE::QemuServer;
use PVE::QemuConfig;
use PVE::Tools;
+use PVE::ReplicationConfig;
use Test::MockModule;
use Test::More;
die "volume_rollback_is_possible failed\n";
}
+sub mocked_activate_volumes {
+ my ($storecfg, $volumes) = @_;
+ die "Storage config not mocked! aborting\n"
+ if defined($storecfg);
+ die "wrong volume - fake vmstate expected!\n"
+ if ((scalar @$volumes != 1) || @$volumes[0] ne "somestorage:state-volume");
+ return;
+}
+
+sub mocked_deactivate_volumes {
+ my ($storecfg, $volumes) = @_;
+ die "Storage config not mocked! aborting\n"
+ if defined($storecfg);
+ die "wrong volume - fake vmstate expected!\n"
+ if ((scalar @$volumes != 1) || @$volumes[0] ne "somestorage:state-volume");
+ return;
+}
+
sub mocked_vdisk_free {
my ($storecfg, $vmstate) = @_;
die "Storage config not mocked! aborting\n"
$qemu_config_module->mock('has_feature', \&has_feature);
$qemu_config_module->mock('__snapshot_save_vmstate', \&__snapshot_save_vmstate);
+# ignore existing replication config
+my $repl_config_module = new Test::MockModule('PVE::ReplicationConfig');
+$repl_config_module->mock('check_for_existing_jobs' => sub { return undef });
+
$running = 1;
$freeze_possible = 1;
$save_vmstate_works = 1;
my $storage_module = new Test::MockModule('PVE::Storage');
$storage_module->mock('config', sub { return undef; });
$storage_module->mock('path', sub { return "/some/store/statefile/path"; });
+$storage_module->mock('activate_volumes', \&mocked_activate_volumes);
+$storage_module->mock('deactivate_volumes', \&mocked_deactivate_volumes);
$storage_module->mock('vdisk_free', \&mocked_vdisk_free);
$storage_module->mock('volume_snapshot', \&mocked_volume_snapshot);
$storage_module->mock('volume_snapshot_delete', \&mocked_volume_snapshot_delete);