def test_derive_version_from_conda_environment_none( self, mock_run_command): # More than three version numbers stdout = '# packages in environment at /home/nswain/miniconda/envs/tethys:\n' \ '#\n' \ '# Name Version Build Channel\n' \ 'foo 1.2.3.4.5 py37_0 conda-forge' mock_run_command.return_value = (stdout, '', 0) ret = derive_version_from_conda_environment('foo', 'none') self.assertEqual('foo', ret) # Three version numbers stdout = '# packages in environment at /home/nswain/miniconda/envs/tethys:\n' \ '#\n' \ '# Name Version Build Channel\n' \ 'foo 1.2.3 py37_0 conda-forge' mock_run_command.return_value = (stdout, '', 0) ret = derive_version_from_conda_environment('foo', 'none') self.assertEqual('foo', ret) # Two version numbers stdout = '# packages in environment at /home/nswain/miniconda/envs/tethys:\n' \ '#\n' \ '# Name Version Build Channel\n' \ 'foo 1.2 py37_0 conda-forge' mock_run_command.return_value = (stdout, '', 0) ret = derive_version_from_conda_environment('foo', 'none') self.assertEqual('foo', ret) # Less than two version numbers stdout = '# packages in environment at /home/nswain/miniconda/envs/tethys:\n' \ '#\n' \ '# Name Version Build Channel\n' \ 'foo 1 py37_0 conda-forge' mock_run_command.return_value = (stdout, '', 0) ret = derive_version_from_conda_environment('foo', 'none') self.assertEqual('foo', ret)
def test_derive_version_from_conda_environment_conda_list_error( self, mock_run_command, mock_print): # More than three version numbers mock_run_command.return_value = ('', 'Some error', 1) ret = derive_version_from_conda_environment('foo', 'minor') self.assertEqual('foo', ret) rts_call_args = mock_print.call_args_list self.assertEqual( 'ERROR: Something went wrong looking up dependency "foo" in environment', rts_call_args[0][0][0]) self.assertEqual('Some error', rts_call_args[1][0][0])