# Path: binstar_client/scripts/cli.py
# def main(args=None, exit=True):
#     binstar_main(command_module, args, exit,
#                  description=__doc__, version=version)
# 
# Path: binstar_client/tests/fixture.py
# class CLITestCase(unittest.TestCase):
#     def setUp(self):
#         self.get_config_patch = mock.patch('binstar_client.utils.get_config')
#         self.get_config = self.get_config_patch.start()
#         self.get_config.return_value = {}
# 
#         self.load_token_patch = mock.patch('binstar_client.utils.config.load_token')
#         self.load_token = self.load_token_patch.start()
#         self.load_token.return_value = '123'
# 
#         self.store_token_patch = mock.patch('binstar_client.utils.config.store_token')
#         self.store_token = self.store_token_patch.start()
# 
#         self.setup_logging_patch = mock.patch('binstar_client.scripts.cli._setup_logging')
#         self.setup_logging_patch.start()
# 
#         self.logger = logger = logging.getLogger('binstar')
#         logger.setLevel(logging.INFO)
#         self.stream = AnyIO()
#         self.hndlr = hndlr = logging.StreamHandler(stream=self.stream)
#         hndlr.setLevel(logging.INFO)
#         logger.addHandler(hndlr)
# 
#     def tearDown(self):
#         self.setup_logging_patch.stop()
#         self.get_config_patch.stop()
#         self.load_token_patch.stop()
#         self.store_token_patch.stop()
# 
#         self.logger.removeHandler(self.hndlr)


import os
import shutil
import tempfile
import mock
from os.path import join, exists
from operator import delitem
from binstar_client.scripts.cli import main
from binstar_client.tests.fixture import CLITestCase
from __future__ import unicode_literals






class Test(CLITestCase):
    def test_write_env(self):
        tmpdir = tempfile.mkdtemp()
        self.addCleanup(shutil.rmtree, tmpdir)

        with mock.patch('binstar_client.commands.config.USER_CONFIG', join(tmpdir, 'config.yaml')), \
             mock.patch('binstar_client.commands.config.SEARCH_PATH', [tmpdir]):
            main(['config', '--set', 'url', 'http://localhost:5000'], False)

            self.assertTrue(exists(join(tmpdir, 'config.yaml')))

            with open(join(tmpdir, 'config.yaml')) as f:
                config_output = f.read()
            expected_config_output = 'url: http://localhost:5000\n'
            self.assertEqual(config_output, expected_config_output)


# Path: binstar_client/scripts/cli.py
# def main(args=None, exit=True):
#     binstar_main(command_module, args, exit,
#                  description=__doc__, version=version)
# 
# Path: binstar_client/tests/fixture.py
# class CLITestCase(unittest.TestCase):
#     def setUp(self):
#         self.get_config_patch = mock.patch('binstar_client.utils.get_config')
#         self.get_config = self.get_config_patch.start()
#         self.get_config.return_value = {}
# 
#         self.load_token_patch = mock.patch('binstar_client.utils.config.load_token')
#         self.load_token = self.load_token_patch.start()
#         self.load_token.return_value = '123'
# 
#         self.store_token_patch = mock.patch('binstar_client.utils.config.store_token')
#         self.store_token = self.store_token_patch.start()
# 
#         self.setup_logging_patch = mock.patch('binstar_client.scripts.cli._setup_logging')
#         self.setup_logging_patch.start()
# 
#         self.logger = logger = logging.getLogger('binstar')
#         logger.setLevel(logging.INFO)
#         self.stream = AnyIO()
#         self.hndlr = hndlr = logging.StreamHandler(stream=self.stream)
#         hndlr.setLevel(logging.INFO)
#         logger.addHandler(hndlr)
# 
#     def tearDown(self):
#         self.setup_logging_patch.stop()
#         self.get_config_patch.stop()
#         self.load_token_patch.stop()
#         self.store_token_patch.stop()
# 
#         self.logger.removeHandler(self.hndlr)


# Path: binstar_client/tests/test_config.py
import os
import shutil
import tempfile
import mock
from os.path import join, exists
from operator import delitem
from binstar_client.scripts.cli import main
from binstar_client.tests.fixture import CLITestCase

from __future__ import unicode_literals






class Test(CLITestCase):
    def test_write_env(self):
        tmpdir = tempfile.mkdtemp()
        self.addCleanup(shutil.rmtree, tmpdir)

        with mock.patch('binstar_client.commands.config.USER_CONFIG', join(tmpdir, 'config.yaml')), \
             mock.patch('binstar_client.commands.config.SEARCH_PATH', [tmpdir]):
            main(['config', '--set', 'url', 'http://localhost:5000'], False)

            self.assertTrue(exists(join(tmpdir, 'config.yaml')))

            with open(join(tmpdir, 'config.yaml')) as f:
                config_output = f.read()
            expected_config_output = 'url: http://localhost:5000\n'
            self.assertEqual(config_output, expected_config_output)


            main(['config', '--show-sources'], False)