def change_repositories(node, repos): ssh.remove_all_files_from_dirs(['/etc/apt/sources.list.d', '/etc/apt/preferences.d'], node) sftp = ssh.sftp(node) for repo in repos: filename_source, content_source = apt.create_repo_source(repo) ssh.write_content_to_file(sftp, filename_source, content_source) if repo['priority']: filename_pref, content_pref = apt.create_repo_preferences(repo) ssh.write_content_to_file(sftp, filename_pref, content_pref) ssh.call(['apt-get', 'update'], node=node)
def test_remove_all_files_from_dirs(mocker, dir_names, lists_files): node = mock.Mock() mock_sftp = mocker.patch("octane.util.ssh.sftp") mock_list_dir = mocker.patch('paramiko.SFTPClient.listdir') mock_list_dir.side_effect = lists_files mock_unlink = mocker.patch("paramiko.SFTPClient.unlink") ssh.remove_all_files_from_dirs(dir_names, node) mock_sftp.assert_called_once_with(node) mock_list_dir.call_args_list == [ mock.call(dir_name) for dir_name in dir_names ] mock_unlink.call_args_list == [ mock.call(os.path.join(dir_name, file) for dir_name, files in zip(dir_names, lists_files) for file in files) ]