def test_docker_machine_env(self): vm_name = 'default' output = strip_margin("""|export DOCKER_TLS_VERIFY="1" |export DOCKER_HOST="tcp://192.168.99.100:2376" |export DOCKER_CERT_PATH="/Users/mj/.docker/machine/machines/default" |export DOCKER_MACHINE_NAME="default" |# Run this command to configure your shell: |# eval "$(docker-machine env default) |""") check_output_mock = MagicMock(return_value=output) with patch('subprocess.check_output', check_output_mock): result = terminal.docker_machine_env(vm_name) expected_result = [ 'export DOCKER_TLS_VERIFY="1"', 'export DOCKER_HOST="tcp://192.168.99.100:2376"', 'export DOCKER_CERT_PATH="/Users/mj/.docker/machine/machines/default"', 'export DOCKER_MACHINE_NAME="default"', '# Run this command to configure your shell:', '# eval "$(docker-machine env default)' ] self.assertEqual(result, expected_result) check_output_mock.assert_called_with( ['docker-machine', 'env', vm_name], universal_newlines=True)
def resolve_envs(): try: env_lines = terminal.docker_machine_env(vm_name) log.info('Retrieved docker environment variables with `docker-machine env {}`'.format(vm_name)) except NOT_FOUND_ERROR: try: env_lines = terminal.boot2docker_shellinit() log.info('Retrieved docker environment variables with: boot2docker shellinit') log.warning('boot2docker is deprecated. Upgrade to docker-machine.') except NOT_FOUND_ERROR: return [] return [resolve_env(line) for line in env_lines if line.startswith('export')]
def envs(docker_machine_vm_name): def resolve_env(line): key = line.partition(" ")[-1].partition("=")[0] value = line.partition(" ")[-1].partition("=")[2].strip('"') return key, value try: env_lines = terminal.docker_machine_env(docker_machine_vm_name) log = logging.getLogger(__name__) log.info("Retrieved docker environment variables with: docker-machine env {}".format(docker_machine_vm_name)) except NOT_FOUND_ERROR: return [] return [resolve_env(line) for line in env_lines if line.startswith("export") or line.startswith("SET")]
def resolve_envs(): try: env_lines = terminal.docker_machine_env(vm_name) log.info( 'Retrieved docker environment variables with `docker-machine env {}`' .format(vm_name)) except NOT_FOUND_ERROR: try: env_lines = terminal.boot2docker_shellinit() log.info( 'Retrieved docker environment variables with: boot2docker shellinit' ) log.warning( 'boot2docker is deprecated. Upgrade to docker-machine.') except NOT_FOUND_ERROR: return [] return [ resolve_env(line) for line in env_lines if line.startswith('export') ]
def test_docker_machine_env(self): vm_name = 'default' output = strip_margin("""|export DOCKER_TLS_VERIFY="1" |export DOCKER_HOST="tcp://192.168.99.100:2376" |export DOCKER_CERT_PATH="/Users/mj/.docker/machine/machines/default" |export DOCKER_MACHINE_NAME="default" |# Run this command to configure your shell: |# eval "$(docker-machine env default) |""") check_output_mock = MagicMock(return_value=output) with patch('subprocess.check_output', check_output_mock): result = terminal.docker_machine_env(vm_name) expected_result = ['export DOCKER_TLS_VERIFY="1"', 'export DOCKER_HOST="tcp://192.168.99.100:2376"', 'export DOCKER_CERT_PATH="/Users/mj/.docker/machine/machines/default"', 'export DOCKER_MACHINE_NAME="default"', '# Run this command to configure your shell:', '# eval "$(docker-machine env default)'] self.assertEqual(result, expected_result) check_output_mock.assert_called_with(['docker-machine', 'env', vm_name], universal_newlines=True)