Ejemplo n.º 1
0
    def test_command_not_interactive_all_packages_up_to_date(
            self, options_mock, is_virtualenv_mock, user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        # no user_input should be called
        self.assertFalse(user_input_mock.called)
        self.assertNotIn('Setting API url', output)
        self.assertIn('All packages are up-to-date.', output)
Ejemplo n.º 2
0
    def test_command_not_interactive_not_virtualenv(self, options_mock,
                                                    is_virtualenv_mock,
                                                    user_input_mock):
        is_virtualenv_mock.return_value = False

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertNotIn('Setting API url', output)
        self.assertIn("It seems you haven't activated a virtualenv", output)
        self.assertNotIn('Successfully upgraded', output)
Ejemplo n.º 3
0
    def test_command__use_default_index(self, options_mock, is_virtualenv_mock,
                                        user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock, \
                patch('pip_upgrader.packages_status_detector.PackagesStatusDetector.pip_config_locations',
                      new=PackagesStatusDetector.pip_config_locations + ['pip.test.conf']):
            cli.main()
            output = stdout_mock.getvalue()

        # checks if new index-url was discovered from config file
        self.assertNotIn('Setting API url', output)
        self.assertIn('Successfully upgraded', output)
Ejemplo n.º 4
0
    def test_command_basic_usage(self, options_mock, is_virtualenv_mock,
                                 user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertTrue(user_input_mock.called)

        self.assertIn('Available upgrades', output)
        self.assertIn('ipython ... up to date', output)
        self.assertIn('django-rest-auth ... upgrade available: 0.9.0 ==>',
                      output)
        self.assertNotIn('ipdb', output)
        self.assertIn('Successfully upgraded', output)
        self.assertIn('this was a simulation using --dry-run', output)
Ejemplo n.º 5
0
    def test_command_not_interactive_not_virtualenv_skip(
            self, options_mock, is_virtualenv_mock, user_input_mock):
        is_virtualenv_mock.return_value = False

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertFalse(user_input_mock.called)
        self.assertNotIn('Setting API url', output)
        self.assertIn('Django ... upgrade available: 1.10 ==>', output)
        self.assertNotIn('django-rest-auth', output)
        self.assertNotIn('ipython ... up to date', output)
        self.assertNotIn('ipdb', output)
        self.assertNotIn('celery ... upgrade available: 3.1.1 ==>', output)
        self.assertIn('Successfully upgraded', output)
Ejemplo n.º 6
0
    def test_command_not_recursive_requirements_include(
            self, options_mock, is_virtualenv_mock, user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        # no user_input should be called
        self.assertFalse(user_input_mock.called)
        self.assertIn('celery ... upgrade available: 3.1.1 ==>', output)
        self.assertIn('requirements/local.txt', output)
        self.assertIn('requirements/production.txt', output)
        self.assertIn('requirements/extra/debug.txt', output)
        self.assertIn('requirements/extra/debug2.txt', output)
        self.assertNotIn('requirements/extra/bad_file.txt', output)

        self.assertIn('Successfully upgraded', output)
Ejemplo n.º 7
0
    def test_command_not_specific_package_prerelease(self, options_mock,
                                                     is_virtualenv_mock,
                                                     user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        # no user_input should be called
        self.assertFalse(user_input_mock.called)

        self.assertNotIn('Setting API url', output)
        self.assertIn('Django ... upgrade available: 1.10 ==> 1.11rc1', output)
        self.assertNotIn('django-rest-auth', output)
        self.assertNotIn('ipython ... up to date', output)
        self.assertNotIn('ipdb', output)
        self.assertNotIn('celery ... upgrade available: 3.1.1 ==>', output)

        self.assertIn('Successfully upgraded', output)
Ejemplo n.º 8
0
    def test_command_not_specific_package_prerelease_html_api(
            self, options_mock, is_virtualenv_mock, user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock, \
                patch('pip_upgrader.packages_status_detector.PackagesStatusDetector.pip_config_locations',
                      new=PackagesStatusDetector.pip_config_locations + ['pip.test.conf']):
            cli.main()
            output = stdout_mock.getvalue()

        # no user_input should be called
        self.assertFalse(user_input_mock.called)

        self.assertIn('Setting API url', output)
        self.assertIn('Django ... upgrade available: 1.10 ==> 1.11rc1', output)
        self.assertNotIn('django-rest-auth', output)
        self.assertNotIn('ipython ... up to date', output)
        self.assertNotIn('ipdb', output)
        self.assertNotIn('celery ... upgrade available: 3.1.1 ==>', output)

        self.assertIn('Successfully upgraded', output)
Ejemplo n.º 9
0
    def test_command_interactive_bad_choices(self, options_mock,
                                             is_virtualenv_mock,
                                             user_input_mock):

        user_input_mock.return_value = ''
        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertTrue(user_input_mock.called)
        self.assertIn('No choice selected', output)
        self.assertNotIn('Setting API url', output)

        user_input_mock.return_value = '5 6 7'
        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertTrue(user_input_mock.called)
        self.assertIn('No valid choice selected.', output)
Ejemplo n.º 10
0
    def test_command_pip_index_url_environ(self, options_mock,
                                           is_virtualenv_mock,
                                           user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        self.assertTrue(user_input_mock.called)
        # checks if new index-url was discovered from config file
        self.assertIn('Setting API url', output)
        self.assertIn('https://pypi.python.org/simple/{package}', output)

        self.assertIn('Available upgrades', output)
        self.assertIn('ipython ... up to date', output)
        self.assertIn('django-rest-auth ... upgrade available: 0.9.0 ==>',
                      output)
        self.assertNotIn('ipdb', output)
        self.assertIn('Successfully upgraded', output)
        self.assertIn('this was a simulation using --dry-run', output)
Ejemplo n.º 11
0
    def test_command_not_interactive_all_packages(self, options_mock,
                                                  is_virtualenv_mock,
                                                  user_input_mock):

        with patch('sys.stdout', new_callable=StringIO) as stdout_mock:
            cli.main()
            output = stdout_mock.getvalue()

        # no user_input should be called
        self.assertFalse(user_input_mock.called)

        self.assertNotIn('Setting API url', output)
        self.assertNotIn('Available upgrades', output)
        self.assertIn('Django ... upgrade available: 1.10 ==>', output)
        self.assertIn('django-rest-auth ... upgrade available: 0.9.0 ==>',
                      output)
        self.assertIn('ipython ... up to date', output)
        self.assertNotIn('ipdb', output)
        self.assertIn('celery ... upgrade available: 3.1.1 ==>', output)

        self.assertIn('Successfully upgraded', output)
        self.assertIn('this was a simulation using --dry-run', output)