Exemplo n.º 1
0
        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)
Exemplo n.º 2
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)