@@ -159,28 +159,29 @@ def test_on_checkbox_toggled(
159
159
assert not sut .checkbox_column_button .get_active ()
160
160
161
161
all_domains = {vm .name for vm in test_qapp_impl ().domains }
162
- all_templates = {vm .name for vm in test_qapp_impl ().domains if vm .klass == "template " }
163
- all_standalones = {vm .name for vm in test_qapp_impl ().domains if vm .klass == "standalone " }
162
+ all_templates = {vm .name for vm in test_qapp_impl ().domains if vm .klass == "TemplateVM " }
163
+ all_standalones = {vm .name for vm in test_qapp_impl ().domains if vm .klass == "StandaloneVM " }
164
164
165
165
@patch ('subprocess.check_output' )
166
166
@pytest .mark .parametrize (
167
- "args, output , selected" ,
167
+ "args, templates, rest , selected" ,
168
168
(
169
- pytest .param (('--all' ,), "," .join (all_domains .difference ({"dom0" })).encode (), all_domains ),
170
- pytest .param (('--update-if-stale' , '10' ), b'fedora-36' , {'fedora-36' }),
171
- pytest .param (('--targets' , 'dom0,fedora-36' ), b'fedora-36' , {'dom0' , 'fedora-36' }),
172
- pytest .param (('--dom0' , '--skip' , 'dom0' ), None , set ()),
173
- pytest .param (('--skip' , 'dom0' ), None , set ()),
174
- pytest .param (('--targets' , 'dom0' , '--skip' , 'dom0' ), None , set ()),
175
- pytest .param (('--dom0' ,), None , {'dom0' }),
176
- pytest .param (('--standalones' ,), "," .join (all_standalones ).encode (), all_standalones ),
169
+ pytest .param (('--all' ,), "," .join (all_templates ). encode (), "," . join ( all_domains .difference ({"dom0" }). difference ( all_templates )).encode (), all_domains ),
170
+ pytest .param (('--update-if-stale' , '10' ), b'fedora-36' , b'' , {'fedora-36' }),
171
+ pytest .param (('--targets' , 'dom0,fedora-36' ), b'fedora-36' , b'' , {'dom0' , 'fedora-36' }),
172
+ pytest .param (('--dom0' , '--skip' , 'dom0' ), b'' , b'' , set ()),
173
+ pytest .param (('--skip' , 'dom0' ), b'' , b'' , set ()),
174
+ pytest .param (('--targets' , 'dom0' , '--skip' , 'dom0' ), b'' , b'' , set ()),
175
+ pytest .param (('--dom0' ,), b'' , b'' , {'dom0' }),
176
+ pytest .param (('--standalones' ,), b'' , "," .join (all_standalones ).encode (), all_standalones ),
177
177
pytest .param (('--templates' , '--skip' , 'fedora-36,garbage-name' ),
178
178
"," .join (all_templates .difference ({"fedora-36" })).encode (),
179
+ b'' ,
179
180
all_templates .difference ({"fedora-36" })),
180
181
),
181
182
)
182
183
def test_select_rows_ignoring_conditions (
183
- mock_subprocess , args , output , selected , real_builder , test_qapp ,
184
+ mock_subprocess , args , templates , rest , selected , real_builder , test_qapp ,
184
185
mock_next_button , mock_settings , mock_list_store
185
186
):
186
187
mock_log = Mock ()
@@ -193,17 +194,17 @@ def test_select_rows_ignoring_conditions(
193
194
194
195
assert len (sut .list_store ) == 12
195
196
196
- if output is not None :
197
- # inconsistent output of qubes-vm-update, but it does not matter
198
- mock_subprocess . return_value = \
199
- b'Following templates will be updated: ' + output
197
+ mock_subprocess . return_value = (
198
+ b'Following templates will be updated: ' + templates + b' \n '
199
+ b'Following qubes will be updated: ' + rest
200
+ )
200
201
201
202
cliargs = parse_args (args )
202
203
sut .select_rows_ignoring_conditions (cliargs )
203
204
to_update = {row .name for row in sut .list_store if row .selected }
204
205
205
206
assert to_update == selected
206
- if output is None :
207
+ if not templates + rest :
207
208
mock_subprocess .assert_not_called ()
208
209
209
210
0 commit comments