def test_should_not_load_module_after_downloading_when_download_fails(self, install, load):
        install.side_effect = MissingPluginException("BOOM")
        downloader = DownloadingPluginLoader(Mock())
        plugin = downloader.load_plugin(Mock(), "pypi:external_plugin")

        self.assertFalse(load.called)
        self.assertEquals(plugin, None)
    def test_should_load_module_after_downloading_with_vcs_when_download_succeeds(self, _, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        plugin = downloader.load_plugin(project, "vcs:external_plugin URL", plugin_module_name="external_plugin_module")

        load.assert_called_with("external_plugin_module", "vcs:external_plugin URL")
        self.assertEquals(plugin, load.return_value)
    def test_should_load_module_after_downloading_when_download_succeeds(self, _, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        plugin = downloader.load_plugin(project, "pypi:external_plugin")

        load.assert_called_with(downloader, project, "pypi:external_plugin")
        self.assertEquals(plugin, load.return_value)
Exemple #4
0
    def test_should_load_module_after_downloading_with_vcs_when_download_succeeds(self, _, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        plugin = downloader.load_plugin(project, "vcs:external_plugin URL", plugin_module_name="external_plugin_module")

        load.assert_called_with("external_plugin_module", "vcs:external_plugin URL")
        self.assertEqual(plugin, load.return_value)
    def test_should_update_pypi_plugin_with_non_exact_version_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEquals(load.return_value, downloader.load_plugin(project, "pypi:spam", ">1.2"))

        install.assert_called_with(project, "pypi:spam", ">1.2", downloader.logger, None, True, False)
        self.assertEquals(install.call_count, 1)
    def test_should_force_reinstall_vcs_plugin_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEquals(load.return_value, downloader.load_plugin(project, "vcs:spam", plugin_module_name="spam"))

        install.assert_called_with(project, "vcs:spam", None, downloader.logger, "spam", False, True)
        self.assertEquals(install.call_count, 1)
    def test_should_import_plugin_when_requiring_plugin_and_plugin_is_found_as_third_party(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEquals(load.return_value, downloader.load_plugin(project, "spam"))

        install.assert_not_called()
        self.assertEquals(install.call_count, 0)
Exemple #8
0
    def test_should_update_pypi_plugin_with_non_exact_version_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEqual(load.return_value, downloader.load_plugin(project, "pypi:spam", ">1.2"))

        install.assert_called_with(project, "pypi:spam", ">1.2", downloader.logger, None, True, False)
        self.assertEqual(install.call_count, 1)
Exemple #9
0
    def test_should_force_reinstall_vcs_plugin_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEqual(load.return_value, downloader.load_plugin(project, "vcs:spam", plugin_module_name="spam"))

        install.assert_called_with(project, "vcs:spam", None, downloader.logger, "spam", False, True)
        self.assertEqual(install.call_count, 1)
Exemple #10
0
    def test_should_import_plugin_when_requiring_plugin_and_plugin_is_found_as_third_party(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        load.return_value = Mock()

        self.assertEqual(load.return_value, downloader.load_plugin(project, "spam"))

        install.assert_not_called()
        self.assertEqual(install.call_count, 0)
    def test_should_not_update_pypi_plugin_with_exact_version_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        plugin = Mock()
        load.side_effect = (MissingPluginException("no spam installed"), plugin)

        self.assertEquals(plugin, downloader.load_plugin(project, "pypi:spam", "===1.4"))

        install.assert_called_with(project, "pypi:spam", "===1.4", downloader.logger, None)
        self.assertEquals(install.call_count, 1)
Exemple #12
0
    def test_should_not_update_pypi_plugin_with_exact_version_before_first_loading_attempt(self, install, load):
        project = Mock()
        downloader = DownloadingPluginLoader(Mock())
        plugin = Mock()
        load.side_effect = (MissingPluginException("no spam installed"), plugin)

        self.assertEqual(plugin, downloader.load_plugin(project, "pypi:spam", "===1.4"))

        install.assert_called_with(project, "pypi:spam", "===1.4", downloader.logger, None)
        self.assertEqual(install.call_count, 1)
    def test_should_load_module_after_downloading_with_pypi_when_download_succeeds(
            self, load):
        logger = Mock()
        reactor = Mock()
        pyb_env = Mock()
        reactor.python_env_registry = {"pybuilder": pyb_env}
        reactor.pybuilder_venv = pyb_env

        downloader = DownloadingPluginLoader(logger)
        pd = PluginDef("pypi:external_plugin")
        plugin = downloader.load_plugin(reactor, pd)

        load.assert_called_with("external_plugin", pd.name)
        self.assertEqual(plugin, load.return_value)
    def test_should_import_plugin_when_requiring_plugin_and_plugin_is_found_as_third_party(
            self, load):
        logger = Mock()
        reactor = Mock()
        pyb_env = Mock()
        reactor.python_env_registry = {"pybuilder": pyb_env}
        reactor.pybuilder_venv = pyb_env
        load.return_value = Mock()

        downloader = DownloadingPluginLoader(logger)

        self.assertEqual(load.return_value,
                         downloader.load_plugin(reactor, PluginDef("spam")))
        pyb_env.install_dependencies.assert_not_called()
        self.assertEqual(pyb_env.install_dependencies.call_count, 0)