tests: mocking more functions to avoid system access

previously extracted functions are now mocked in the zone tests

Signed-off-by: Stefan Lendl <s.lendl@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
This commit is contained in:
Stefan Lendl 2024-04-02 13:07:40 +02:00 committed by Thomas Lamprecht
parent 96d7d81d6c
commit 1c3f1a7ed9

View file

@ -46,8 +46,20 @@ foreach my $test (@tests) {
return 'localhost'; return 'localhost';
}, },
read_file => sub { read_file => sub {
# HACK this assumes we are always calling PVE::INotify::read_file('interfaces');
return $interfaces_config; return $interfaces_config;
}, },
read_etc_network_interfaces => sub {
return $interfaces_config;
},
);
my $mocked_pve_sdn_controllers;
$mocked_pve_sdn_controllers = Test::MockModule->new('PVE::Network::SDN::Controllers');
$mocked_pve_sdn_controllers->mock(
read_etc_network_interfaces => sub {
return $interfaces_config;
}
); );
my $pve_sdn_subnets; my $pve_sdn_subnets;
@ -87,6 +99,25 @@ foreach my $test (@tests) {
}, },
); );
my ($first_plugin) = %{$sdn_config->{controllers}->{ids}} if defined $sdn_config->{controllers};
if ($first_plugin) {
my $controller_plugin = PVE::Network::SDN::Controllers::Plugin->lookup(
$sdn_config->{controllers}->{ids}->{$first_plugin}->{type}
);
my $mocked_controller_plugin = Test::MockModule->new($controller_plugin);
$mocked_controller_plugin->mock(
write_controller_config => sub {
return;
},
reload_controller => sub {
return;
},
read_local_frr_config => sub {
return;
},
);
}
my $name = $test; my $name = $test;
my $expected = read_file("./$test/expected_sdn_interfaces"); my $expected = read_file("./$test/expected_sdn_interfaces");