summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Lendl <s.lendl@proxmox.com>2024-04-02 13:07:40 +0200
committerThomas Lamprecht <t.lamprecht@proxmox.com>2024-04-04 16:50:08 +0200
commit1c3f1a7ed90ad154f093871554e8cc4ed1ff1f45 (patch)
tree9045e2a274392a9ac04168e9a2b179d4f01accd0
parent96d7d81d6c627bd259ed851b76d6544f7b97a8de (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-xsrc/test/run_test_zones.pl31
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");