@@ -1116,6 +1116,41 @@ def test_207_default_kernel(self):
11161116 existence .side_effect = [True , False ]
11171117 self .app .default_kernel = "unittest_GNU_Hurd_1.0.0"
11181118
1119+ def test_208_default_netvm_change (self ):
1120+ netvm1 = self .app .add_new_vm (
1121+ "AppVM" ,
1122+ name = "netvm1" ,
1123+ template = self .template ,
1124+ label = "red" ,
1125+ provides_network = True ,
1126+ netvm = None ,
1127+ )
1128+ netvm2 = self .app .add_new_vm (
1129+ "AppVM" ,
1130+ name = "netvm2" ,
1131+ template = self .template ,
1132+ label = "red" ,
1133+ provides_network = True ,
1134+ netvm = None ,
1135+ )
1136+ self .app .default_netvm = netvm1
1137+ with (
1138+ mock .patch ("qubes.vm.qubesvm.QubesVM.is_running" , lambda x : True ),
1139+ mock .patch (
1140+ "qubes.vm.mix.net.NetVMMixin.attach_network"
1141+ ) as mock_attach ,
1142+ mock .patch (
1143+ "qubes.vm.mix.net.NetVMMixin.detach_network"
1144+ ) as mock_detach ,
1145+ mock .patch ("qubes.vm.qubesvm.QubesVM.create_qdb_entries" ),
1146+ ):
1147+
1148+ self .app .default_netvm = netvm2
1149+ mock_detach .assert_called ()
1150+ mock_attach .assert_called ()
1151+
1152+ self .app .default_netvm = None
1153+
11191154 def test_300_preload_default_dispvm (self ):
11201155 """Fire event for new setting from no previous one."""
11211156 self .appvm .features ["preload-dispvm-max" ] = "1"
@@ -1138,11 +1173,10 @@ def test_301_preload_default_dispvm_change(self):
11381173 self .app .default_dispvm = self .appvm
11391174 self .appvm_alt .features ["preload-dispvm-max" ] = "1"
11401175 # Global is not set and thus there are no events.
1141- with mock .patch .object (
1142- self .appvm , "fire_event_async"
1143- ) as mock_old , mock .patch .object (
1144- self .appvm_alt , "fire_event_async"
1145- ) as mock_new :
1176+ with (
1177+ mock .patch .object (self .appvm , "fire_event_async" ) as mock_old ,
1178+ mock .patch .object (self .appvm_alt , "fire_event_async" ) as mock_new ,
1179+ ):
11461180 self .app .default_dispvm = self .appvm_alt
11471181 mock_old .assert_not_called ()
11481182 mock_new .assert_not_called ()
@@ -1151,11 +1185,10 @@ def test_301_preload_default_dispvm_change(self):
11511185 self .app .default_dispvm = self .appvm
11521186 self .appvm .features ["preload-dispvm-max" ] = "2"
11531187 self .appvm_alt .features ["preload-dispvm-max" ] = "2"
1154- with mock .patch .object (
1155- self .appvm , "fire_event_async"
1156- ) as mock_old , mock .patch .object (
1157- self .appvm_alt , "fire_event_async"
1158- ) as mock_new :
1188+ with (
1189+ mock .patch .object (self .appvm , "fire_event_async" ) as mock_old ,
1190+ mock .patch .object (self .appvm_alt , "fire_event_async" ) as mock_new ,
1191+ ):
11591192 self .app .default_dispvm = self .appvm_alt
11601193 mock_old .assert_called_once_with (
11611194 "domain-preload-dispvm-start" , reason = mock .ANY
@@ -1172,11 +1205,10 @@ def test_302_preload_default_dispvm_change_noop(self):
11721205 self .appvm_alt .features ["preload-dispvm-max" ] = "1"
11731206 self .app .domains ["dom0" ].features ["preload-dispvm-max" ] = "1"
11741207 self .app .default_dispvm = self .appvm
1175- with mock .patch .object (
1176- self .appvm , "fire_event_async"
1177- ) as mock_old , mock .patch .object (
1178- self .appvm_alt , "fire_event_async"
1179- ) as mock_new :
1208+ with (
1209+ mock .patch .object (self .appvm , "fire_event_async" ) as mock_old ,
1210+ mock .patch .object (self .appvm_alt , "fire_event_async" ) as mock_new ,
1211+ ):
11801212 self .app .default_dispvm = self .appvm_alt
11811213 mock_old .assert_not_called ()
11821214 mock_new .assert_not_called ()
@@ -1189,11 +1221,10 @@ def test_303_preload_default_dispvm_change_partial_noop(self):
11891221 self .appvm_alt .features ["preload-dispvm-max" ] = "1"
11901222 self .app .domains ["dom0" ].features ["preload-dispvm-max" ] = "2"
11911223 self .app .default_dispvm = self .appvm
1192- with mock .patch .object (
1193- self .appvm , "fire_event_async"
1194- ) as mock_old , mock .patch .object (
1195- self .appvm_alt , "fire_event_async"
1196- ) as mock_new :
1224+ with (
1225+ mock .patch .object (self .appvm , "fire_event_async" ) as mock_old ,
1226+ mock .patch .object (self .appvm_alt , "fire_event_async" ) as mock_new ,
1227+ ):
11971228 self .app .default_dispvm = self .appvm_alt
11981229 mock_old .assert_not_called ()
11991230 mock_new .assert_called_once_with (
0 commit comments