]> git.proxmox.com Git - pve-manager.git/commitdiff
fix mocking in notification tests
authorWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 16 Aug 2023 09:58:20 +0000 (11:58 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Wed, 16 Aug 2023 09:58:22 +0000 (11:58 +0200)
PVE::Notify::send_notification is now private (the mocking was for the
old api)

'cfs_read_file' gets exported into PVE::Notify before it gets mocked,
so it needs to be mocked inside PVE::Notify, not PVE::Cluster.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
test/vzdump_notification_test.pl

index 0635ebb742ed57c909e1f5438de0f6f68db6f57a..21c31651bb3784adcb7e1c25d75f0768474a3895 100755 (executable)
@@ -37,15 +37,25 @@ my $result_text;
 my $result_properties;
 
 my $mock_notification_module = Test::MockModule->new('PVE::Notify');
-$mock_notification_module->mock('send_notification', sub {
+my $mocked_notify = sub {
     my ($channel, $severity, $title, $text, $properties) = @_;
 
     $result_text = $text;
     $result_properties = $properties;
-});
+};
+my $mocked_notify_short = sub {
+    my ($channel, @rest) = @_;
+    return $mocked_notify->($channel, '<some severity>', @rest);
+};
 
-my $mock_cluster_module = Test::MockModule->new('PVE::Cluster');
-$mock_cluster_module->mock('cfs_read_file', sub {
+$mock_notification_module->mock(
+    'notify' => $mocked_notify,
+    'info' => $mocked_notify_short,
+    'notice' => $mocked_notify_short,
+    'warning' => $mocked_notify_short,
+    'error' => $mocked_notify_short,
+);
+$mock_notification_module->mock('cfs_read_file', sub {
     my $path = shift;
 
     if ($path eq 'datacenter.cfg') {