def _run_add_repository_test(repository, gpg_key, sudo, isatty, update): sudo_cmd = "" if sudo: sudo_cmd = "sudo " if isatty else "sudo -A " runner = RunnerOrderedMock() runner.commands.append( ("{}apt-add-repository {}".format(sudo_cmd, repository), 0)) if gpg_key: runner.commands.append( ("wget -qO - {} | {}apt-key add -".format( gpg_key, sudo_cmd), 0)) if update: runner.commands.append( ("{}apt-get update".format(sudo_cmd), 0)) with tools.environment_append( {"CONAN_SYSREQUIRES_SUDO": str(sudo)}): os_info = OSInfo() os_info.is_macos = False os_info.is_linux = True os_info.is_windows = False os_info.linux_distro = "debian" patched_with_apt.return_value = True new_out = StringIO() spt = SystemPackageTool(runner=runner, os_info=os_info, output=ConanOutput(new_out)) spt.add_repository(repository=repository, repo_key=gpg_key, update=update) self.assertEqual(len(runner.commands), 0)
def add_repositories_exception_cases_test(self): os_info = OSInfo() os_info.is_macos = False os_info.is_linux = True os_info.is_windows = False os_info.linux_distro = "fedora" # Will instantiate DnfTool with six.assertRaisesRegex(self, ConanException, "add_repository not implemented"): new_out = StringIO() spt = SystemPackageTool(os_info=os_info, output=ConanOutput(new_out)) spt.add_repository(repository="deb http://repo/url/ saucy universe multiverse", repo_key=None)