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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)