Example #1
0
    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)
Example #2
0
 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')]
Example #3
0
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")]
Example #4
0
 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')
     ]
Example #5
0
    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)