def test_annotate_updates_available_is_reboot( mock_subprocess, mock_annotate, mock_name ): mock_name.return_value = 'mynode' mock_process = Mock() mock_process.communicate.return_value = ( b'<stream><update-status><update-list><update interactive="reboot">' b'</update></update-list></update-status></stream>', b'' ) mock_process.returncode = 0 mock_subprocess.return_value = mock_process annotate_updates_available() assert mock_subprocess.call_args_list == [ call( ['zypper', '--non-interactive', '--xmlout', 'list-patches'], stdout=-1, stderr=-1, env=ANY ) ] assert mock_annotate.call_args_list == [ call('node', 'mynode', KUBE_UPDATES_KEY, 'yes'), call('node', 'mynode', KUBE_SECURITY_UPDATES_KEY, 'no'), call('node', 'mynode', KUBE_DISRUPTIVE_UPDATES_KEY, 'yes') ]
def test_annotate_updates_available(mock_subprocess, mock_open, mock_name): mock_name.return_value = 'mynode' mock_process = Mock() mock_process.communicate.return_value = ( b'<stream><update-status><update-list><update interactive="message">' b'</update></update-list></update-status></stream>', b'' ) mock_process.returncode = 0 mock_subprocess.return_value = mock_process annotate_updates_available() assert mock_subprocess.call_args_list == [ call( ['zypper', '--non-interactive', '--xmlout', 'list-patches'], stdout=-1, stderr=-1, env=ANY ), call( ["kubectl", "annotate", "--overwrite", "node", "mynode", "caasp.suse.com/has-updates=yes"], stdout=-1, stderr=-1, env=ANY ), call( ["kubectl", "annotate", "--overwrite", "node", "mynode", "caasp.suse.com/has-security-updates=no"], stdout=-1, stderr=-1, env=ANY ), call( ["kubectl", "annotate", "--overwrite", "node", "mynode", "caasp.suse.com/has-disruptive-updates=yes"], stdout=-1, stderr=-1, env=ANY ) ]