def decorator(*args, **kwargs): output = '' if self.cloudshell_config_reader.read().online_mode.lower( ) == "true": try: is_greater_version, is_major_release = is_index_version_greater_than_current( ) except ShellFoundryVersionException as err: click.secho(str(err), fg='red') raise click.Abort() if is_greater_version: if is_major_release: output = 'This version of shellfoundry is not supported anymore, ' \ 'please upgrade by running: pip install shellfoundry --upgrade' if self.abort_if_major: click.secho(output, fg='yellow') print('') raise click.Abort() else: output = 'There is a new version of shellfoundry available, ' \ 'please upgrade by running: pip install shellfoundry --upgrade' f(**kwargs) if output: print('') click.secho(output, fg='yellow')
def test_current_version_is_equal_to_index_version(self): # Arrange releases = {'0.2.7': 'data'} server_proxy = Mock(package_releases=Mock(return_value=releases)) # Act with patch('shellfoundry.utilities.get_installed_version', return_value='0.2.7'), \ patch('shellfoundry.utilities.ServerProxy', return_value=server_proxy): is_greater_version, is_major_release = is_index_version_greater_than_current( ) # Assert self.assertFalse(is_greater_version) self.assertFalse(is_major_release)
def test_current_version_lower_than_index_by_a_major(self): # Arrange releases = { '0.2.7': 'data', '0.2.8': 'some other data', '1.0.0': 'amazing data' } server_proxy = Mock(package_releases=Mock(return_value=releases)) # Act with patch('shellfoundry.utilities.get_installed_version', return_value='0.2.7'), \ patch('shellfoundry.utilities.ServerProxy', return_value=server_proxy): is_greater_version, is_major_release = is_index_version_greater_than_current( ) # Assert self.assertTrue(is_greater_version) self.assertTrue(is_major_release)
def decorator(*args, **kwargs): output = '' is_greater_version, is_major_release = is_index_version_greater_than_current() if is_greater_version: if is_major_release: output = 'This version of shellfoundry is not supported anymore, please upgrade by running: pip install shellfoundry --upgrade' if self.abort_if_major: click.secho(output, fg='yellow') print '' raise click.Abort() else: output = 'There is a new version of shellfoundry available, please upgrade by running: pip install shellfoundry --upgrade' f(**kwargs) if output: print '' click.secho(output, fg='yellow')