From: Stefan Lendl Date: Tue, 2 Apr 2024 11:07:40 +0000 (+0200) Subject: tests: mocking more functions to avoid system access X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=1c3f1a7ed90ad154f093871554e8cc4ed1ff1f45;p=matthieu%2Fpve-network.git tests: mocking more functions to avoid system access previously extracted functions are now mocked in the zone tests Signed-off-by: Stefan Lendl Reviewed-by: Max Carrara Tested-by: Max Carrara Tested-By: Stefan Hanreich --- diff --git a/src/test/run_test_zones.pl b/src/test/run_test_zones.pl index 5354e4d..274a119 100755 --- a/src/test/run_test_zones.pl +++ b/src/test/run_test_zones.pl @@ -46,8 +46,20 @@ foreach my $test (@tests) { return 'localhost'; }, read_file => sub { + # HACK this assumes we are always calling PVE::INotify::read_file('interfaces'); 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; @@ -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 $expected = read_file("./$test/expected_sdn_interfaces");