diff options
| author | Stefan Lendl <s.lendl@proxmox.com> | 2024-04-02 13:07:40 +0200 |
|---|---|---|
| committer | Thomas Lamprecht <t.lamprecht@proxmox.com> | 2024-04-04 16:50:08 +0200 |
| commit | 1c3f1a7ed90ad154f093871554e8cc4ed1ff1f45 (patch) | |
| tree | 9045e2a274392a9ac04168e9a2b179d4f01accd0 | |
| parent | 96d7d81d6c627bd259ed851b76d6544f7b97a8de (diff) | |
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>
| -rwxr-xr-x | src/test/run_test_zones.pl | 31 |
1 files changed, 31 insertions, 0 deletions
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"); |
