def test_list(self, mockable_context_envs_dirs): mockable_context_envs_dirs.return_value = (self.tmpdir, ) res = capture_json_with_argv('conda list --json') self.assertIsInstance(res, list) res = capture_json_with_argv('conda list -r --json') self.assertTrue( isinstance(res, list) or (isinstance(res, dict) and 'error' in res)) res = capture_json_with_argv('conda list ipython --json') self.assertIsInstance(res, list) stdout, stderr, rc = run_inprocess_conda_command( 'conda list --name nonexistent --json') assert json.loads( stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 stdout, stderr, rc = run_inprocess_conda_command( 'conda list --name nonexistent --revisions --json') assert json.loads( stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 assert mockable_context_envs_dirs.call_count > 0
def test_list(self): res = capture_json_with_argv('conda list --json') self.assertIsInstance(res, list) res = capture_json_with_argv('conda list -r --json') self.assertTrue( isinstance(res, list) or (isinstance(res, dict) and 'error' in res)) res = capture_json_with_argv('conda list ipython --json') self.assertIsInstance(res, list) stdout, stderr, rc = run_inprocess_conda_command( 'conda list --name nonexistent --json') assert json.loads( stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 stdout, stderr, rc = run_inprocess_conda_command( 'conda list --name nonexistent --revisions --json') assert json.loads( stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0
def test_compare(self, mockable_context_envs_dirs): mockable_context_envs_dirs.return_value = (self.tmpdir,) stdout, stderr, rc = run_inprocess_conda_command('conda compare --name nonexistent tempfile.rc --json') assert json.loads(stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 assert mockable_context_envs_dirs.call_count > 0
def test_run_returns_nonzero_errorlevel(self): from tests.test_create import make_temp_env from tests.test_create import make_temp_prefix prefix = make_temp_prefix(name='test') with make_temp_env(prefix=prefix) as prefix: stdout, stderr, result = run_inprocess_conda_command('conda run -p "{}" exit 5'.format(prefix)) assert result == 5
def test_run_returns_int(self): from tests.test_create import make_temp_env from tests.test_create import make_temp_prefix prefix = make_temp_prefix(name='test') with make_temp_env(prefix=prefix): stdout, stderr, result = run_inprocess_conda_command('conda run -p {} echo hi'.format(prefix)) assert isinstance(result, int)
def test_list(self): res = capture_json_with_argv('conda list --json') self.assertIsInstance(res, list) res = capture_json_with_argv('conda list -r --json') self.assertTrue(isinstance(res, list) or (isinstance(res, dict) and 'error' in res)) res = capture_json_with_argv('conda list ipython --json') self.assertIsInstance(res, list) stdout, stderr, rc = run_inprocess_conda_command('conda list --name nonexistent --json') assert json.loads(stdout.strip())['exception_name'] == 'CondaEnvironmentNotFoundError' assert stderr == '' assert rc > 0 stdout, stderr, rc = run_inprocess_conda_command('conda list --name nonexistent --revisions --json') assert json.loads(stdout.strip())['exception_name'] == 'CondaEnvironmentNotFoundError' assert stderr == '' assert rc > 0
def test_search_0(self): with captured(): res = capture_json_with_argv('conda search --json') self.assertIsInstance(res, dict) self.assertIsInstance(res['conda'], list) self.assertIsInstance(res['conda'][0], dict) keys = ('build', 'channel', 'fn', 'version') for key in keys: self.assertIn(key, res['conda'][0]) stdout, stderr, rc = run_inprocess_conda_command('conda search * --json') assert stderr == '' assert rc is None
def test_search_0(self): with captured(): res = capture_json_with_argv('conda search --json') self.assertIsInstance(res, dict) self.assertIsInstance(res['conda'], list) self.assertIsInstance(res['conda'][0], dict) keys = ('build', 'channel', 'fn', 'version') for key in keys: self.assertIn(key, res['conda'][0]) stdout, stderr, rc = run_inprocess_conda_command('conda search * --json') assert stderr == '' assert rc is None
def test_list(self, mockable_context_envs_dirs): mockable_context_envs_dirs.return_value = (self.tmpdir,) res = capture_json_with_argv('conda list --json') self.assertIsInstance(res, list) res = capture_json_with_argv('conda list -r --json') self.assertTrue(isinstance(res, list) or (isinstance(res, dict) and 'error' in res)) res = capture_json_with_argv('conda list ipython --json') self.assertIsInstance(res, list) stdout, stderr, rc = run_inprocess_conda_command('conda list --name nonexistent --json') assert json.loads(stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 stdout, stderr, rc = run_inprocess_conda_command('conda list --name nonexistent --revisions --json') assert json.loads(stdout.strip())['exception_name'] == 'EnvironmentLocationNotFound' assert stderr == '' assert rc > 0 assert mockable_context_envs_dirs.call_count > 0
def test_run_uncaptured(self, capfd): from tests.test_create import make_temp_env from tests.test_create import make_temp_prefix prefix = make_temp_prefix(name='test') with make_temp_env(prefix=prefix): random_text = uuid.uuid4().hex stdout, stderr, result = run_inprocess_conda_command('conda run -p {} --no-capture-output echo {}'.format(prefix, random_text)) assert result == 0 # Output is not captured assert stdout == "" # Check that the expected output is somewhere between the conda logs captured = capfd.readouterr() assert random_text in captured.out
def test_search(self): with captured(): res = capture_json_with_argv('conda search --json') self.assertIsInstance(res, dict) self.assertIsInstance(res['conda'], list) self.assertIsInstance(res['conda'][0], dict) keys = ('build', 'channel', 'extracted', 'features', 'fn', 'installed', 'version') for key in keys: self.assertIn(key, res['conda'][0]) stdout, stderr, rc = run_inprocess_conda_command('conda search * --json') assert json.loads(stdout.strip())['exception_name'] == 'CommandArgumentError' assert stderr == '' assert rc > 0 res = capture_json_with_argv('conda search --canonical --json') self.assertIsInstance(res, list) self.assertIsInstance(res[0], text_type)
def test_search_0(self): with captured(): res = capture_json_with_argv('conda search --json') self.assertIsInstance(res, dict) self.assertIsInstance(res['conda'], list) self.assertIsInstance(res['conda'][0], dict) keys = ('build', 'channel', 'extracted', 'features', 'fn', 'installed', 'version') for key in keys: self.assertIn(key, res['conda'][0]) stdout, stderr, rc = run_inprocess_conda_command('conda search * --json') assert json.loads(stdout.strip())['exception_name'] == 'CommandArgumentError' assert stderr == '' assert rc > 0 res = capture_json_with_argv('conda search --canonical --json') self.assertIsInstance(res, list) self.assertIsInstance(res[0], text_type)