From ed1b2048040680ecfde8c5be4c3a66671d5cb068 Mon Sep 17 00:00:00 2001
From: Aanand Prasad <aanand.prasad@gmail.com>
Date: Mon, 25 Jan 2016 14:27:12 +0000
Subject: [PATCH] Rename 'net' to 'network mode' in various classes/methods

Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
---
 compose/config/config.py          | 10 +++---
 compose/config/sort_services.py   | 18 +++++------
 compose/config/validation.py      |  4 +--
 compose/project.py                | 34 ++++++++++----------
 compose/service.py                | 23 +++++++-------
 tests/integration/project_test.py |  8 ++---
 tests/integration/service_test.py |  8 ++---
 tests/unit/project_test.py        |  6 ++--
 tests/unit/service_test.py        | 52 +++++++++++++++----------------
 9 files changed, 81 insertions(+), 82 deletions(-)

diff --git a/compose/config/config.py b/compose/config/config.py
index c1391c2fb..ffd805ad8 100644
--- a/compose/config/config.py
+++ b/compose/config/config.py
@@ -19,8 +19,8 @@ from .errors import CircularReference
 from .errors import ComposeFileNotFound
 from .errors import ConfigurationError
 from .interpolation import interpolate_environment_variables
-from .sort_services import get_container_name_from_net
-from .sort_services import get_service_name_from_net
+from .sort_services import get_container_name_from_network_mode
+from .sort_services import get_service_name_from_network_mode
 from .sort_services import sort_service_dicts
 from .types import parse_extra_hosts
 from .types import parse_restart_spec
@@ -492,12 +492,12 @@ def validate_extended_service_dict(service_dict, filename, service):
             "%s services with 'volumes_from' cannot be extended" % error_prefix)
 
     if 'net' in service_dict:
-        if get_container_name_from_net(service_dict['net']):
+        if get_container_name_from_network_mode(service_dict['net']):
             raise ConfigurationError(
                 "%s services with 'net: container' cannot be extended" % error_prefix)
 
     if 'network_mode' in service_dict:
-        if get_service_name_from_net(service_dict['network_mode']):
+        if get_service_name_from_network_mode(service_dict['network_mode']):
             raise ConfigurationError(
                 "%s services with 'network_mode: service' cannot be extended" % error_prefix)
 
@@ -575,7 +575,7 @@ def finalize_service(service_config, service_names, version):
 
     if 'net' in service_dict:
         network_mode = service_dict.pop('net')
-        container_name = get_container_name_from_net(network_mode)
+        container_name = get_container_name_from_network_mode(network_mode)
         if container_name and container_name in service_names:
             service_dict['network_mode'] = 'service:{}'.format(container_name)
         else:
diff --git a/compose/config/sort_services.py b/compose/config/sort_services.py
index cf38a6031..9d29f329e 100644
--- a/compose/config/sort_services.py
+++ b/compose/config/sort_services.py
@@ -4,22 +4,22 @@ from __future__ import unicode_literals
 from compose.config.errors import DependencyError
 
 
-def get_service_name_from_net(net_config):
-    return get_source_name_from_net(net_config, 'service')
+def get_service_name_from_network_mode(network_mode):
+    return get_source_name_from_network_mode(network_mode, 'service')
 
 
-def get_container_name_from_net(net_config):
-    return get_source_name_from_net(net_config, 'container')
+def get_container_name_from_network_mode(network_mode):
+    return get_source_name_from_network_mode(network_mode, 'container')
 
 
-def get_source_name_from_net(net_config, source_type):
-    if not net_config:
+def get_source_name_from_network_mode(network_mode, source_type):
+    if not network_mode:
         return
 
-    if not net_config.startswith(source_type+':'):
+    if not network_mode.startswith(source_type+':'):
         return
 
-    _, net_name = net_config.split(':', 1)
+    _, net_name = network_mode.split(':', 1)
     return net_name
 
 
@@ -41,7 +41,7 @@ def sort_service_dicts(services):
             service for service in services
             if (name in get_service_names(service.get('links', [])) or
                 name in get_service_names_from_volumes_from(service.get('volumes_from', [])) or
-                name == get_service_name_from_net(service.get('network_mode')) or
+                name == get_service_name_from_network_mode(service.get('network_mode')) or
                 name in service.get('depends_on', []))
         ]
 
diff --git a/compose/config/validation.py b/compose/config/validation.py
index dfc34d575..059820209 100644
--- a/compose/config/validation.py
+++ b/compose/config/validation.py
@@ -15,7 +15,7 @@ from jsonschema import RefResolver
 from jsonschema import ValidationError
 
 from .errors import ConfigurationError
-from .sort_services import get_service_name_from_net
+from .sort_services import get_service_name_from_network_mode
 
 
 log = logging.getLogger(__name__)
@@ -156,7 +156,7 @@ def validate_network_mode(service_config, service_names):
     if 'networks' in service_config.config:
         raise ConfigurationError("'network_mode' and 'networks' cannot be combined")
 
-    dependency = get_service_name_from_net(network_mode)
+    dependency = get_service_name_from_network_mode(network_mode)
     if not dependency:
         return
 
diff --git a/compose/project.py b/compose/project.py
index ef913d634..e5b6faef3 100644
--- a/compose/project.py
+++ b/compose/project.py
@@ -10,8 +10,8 @@ from docker.errors import NotFound
 
 from . import parallel
 from .config import ConfigurationError
-from .config.sort_services import get_container_name_from_net
-from .config.sort_services import get_service_name_from_net
+from .config.sort_services import get_container_name_from_network_mode
+from .config.sort_services import get_service_name_from_network_mode
 from .const import DEFAULT_TIMEOUT
 from .const import IMAGE_EVENTS
 from .const import LABEL_ONE_OFF
@@ -19,11 +19,11 @@ from .const import LABEL_PROJECT
 from .const import LABEL_SERVICE
 from .container import Container
 from .network import Network
-from .service import ContainerNet
+from .service import ContainerNetworkMode
 from .service import ConvergenceStrategy
-from .service import Net
+from .service import NetworkMode
 from .service import Service
-from .service import ServiceNet
+from .service import ServiceNetworkMode
 from .utils import microseconds_from_time_nano
 from .volume import Volume
 
@@ -91,7 +91,7 @@ class Project(object):
                 networks = []
 
             links = project.get_links(service_dict)
-            net = project.get_net(service_dict, networks)
+            network_mode = project.get_network_mode(service_dict, networks)
             volumes_from = get_volumes_from(project, service_dict)
 
             if config_data.version == 2:
@@ -110,7 +110,7 @@ class Project(object):
                     use_networking=use_networking,
                     networks=networks,
                     links=links,
-                    net=net,
+                    network_mode=network_mode,
                     volumes_from=volumes_from,
                     **service_dict)
             )
@@ -197,27 +197,27 @@ class Project(object):
             del service_dict['links']
         return links
 
-    def get_net(self, service_dict, networks):
-        net = service_dict.pop('network_mode', None)
-        if not net:
+    def get_network_mode(self, service_dict, networks):
+        network_mode = service_dict.pop('network_mode', None)
+        if not network_mode:
             if self.use_networking:
-                return Net(networks[0]) if networks else Net('none')
-            return Net(None)
+                return NetworkMode(networks[0]) if networks else NetworkMode('none')
+            return NetworkMode(None)
 
-        service_name = get_service_name_from_net(net)
+        service_name = get_service_name_from_network_mode(network_mode)
         if service_name:
-            return ServiceNet(self.get_service(service_name))
+            return ServiceNetworkMode(self.get_service(service_name))
 
-        container_name = get_container_name_from_net(net)
+        container_name = get_container_name_from_network_mode(network_mode)
         if container_name:
             try:
-                return ContainerNet(Container.from_id(self.client, container_name))
+                return ContainerNetworkMode(Container.from_id(self.client, container_name))
             except APIError:
                 raise ConfigurationError(
                     "Service '{name}' uses the network stack of container '{dep}' which "
                     "does not exist.".format(name=service_dict['name'], dep=container_name))
 
-        return Net(net)
+        return NetworkMode(network_mode)
 
     def start(self, service_names=None, **options):
         containers = []
diff --git a/compose/service.py b/compose/service.py
index 166fb0b2f..106d5b264 100644
--- a/compose/service.py
+++ b/compose/service.py
@@ -47,7 +47,6 @@ DOCKER_START_KEYS = [
     'extra_hosts',
     'ipc',
     'read_only',
-    'net',
     'log_driver',
     'log_opt',
     'mem_limit',
@@ -113,7 +112,7 @@ class Service(object):
         use_networking=False,
         links=None,
         volumes_from=None,
-        net=None,
+        network_mode=None,
         networks=None,
         **options
     ):
@@ -123,7 +122,7 @@ class Service(object):
         self.use_networking = use_networking
         self.links = links or []
         self.volumes_from = volumes_from or []
-        self.net = net or Net(None)
+        self.network_mode = network_mode or NetworkMode(None)
         self.networks = networks or []
         self.options = options
 
@@ -472,7 +471,7 @@ class Service(object):
             'options': self.options,
             'image_id': self.image()['Id'],
             'links': self.get_link_names(),
-            'net': self.net.id,
+            'net': self.network_mode.id,
             'volumes_from': [
                 (v.source.name, v.mode)
                 for v in self.volumes_from if isinstance(v.source, Service)
@@ -480,7 +479,7 @@ class Service(object):
         }
 
     def get_dependency_names(self):
-        net_name = self.net.service_name
+        net_name = self.network_mode.service_name
         return (self.get_linked_service_names() +
                 self.get_volumes_from_names() +
                 ([net_name] if net_name else []) +
@@ -636,7 +635,7 @@ class Service(object):
             binds=options.get('binds'),
             volumes_from=self._get_volumes_from(),
             privileged=options.get('privileged', False),
-            network_mode=self.net.mode,
+            network_mode=self.network_mode.mode,
             devices=options.get('devices'),
             dns=options.get('dns'),
             dns_search=options.get('dns_search'),
@@ -774,22 +773,22 @@ class Service(object):
                 log.error(six.text_type(e))
 
 
-class Net(object):
+class NetworkMode(object):
     """A `standard` network mode (ex: host, bridge)"""
 
     service_name = None
 
-    def __init__(self, net):
-        self.net = net
+    def __init__(self, network_mode):
+        self.network_mode = network_mode
 
     @property
     def id(self):
-        return self.net
+        return self.network_mode
 
     mode = id
 
 
-class ContainerNet(object):
+class ContainerNetworkMode(object):
     """A network mode that uses a container's network stack."""
 
     service_name = None
@@ -806,7 +805,7 @@ class ContainerNet(object):
         return 'container:' + self.container.id
 
 
-class ServiceNet(object):
+class ServiceNetworkMode(object):
     """A network mode that uses a service's network stack."""
 
     def __init__(self, service):
diff --git a/tests/integration/project_test.py b/tests/integration/project_test.py
index 0945ebb8e..0c8c9a6ac 100644
--- a/tests/integration/project_test.py
+++ b/tests/integration/project_test.py
@@ -131,7 +131,7 @@ class ProjectTest(DockerClientTestCase):
 
         web = project.get_service('web')
         net = project.get_service('net')
-        self.assertEqual(web.net.mode, 'container:' + net.containers()[0].id)
+        self.assertEqual(web.network_mode.mode, 'container:' + net.containers()[0].id)
 
     @v2_only()
     def test_network_mode_from_container(self):
@@ -168,7 +168,7 @@ class ProjectTest(DockerClientTestCase):
         project.up()
 
         web = project.get_service('web')
-        self.assertEqual(web.net.mode, 'container:' + net_container.id)
+        self.assertEqual(web.network_mode.mode, 'container:' + net_container.id)
 
     def test_net_from_service_v1(self):
         project = Project.from_config(
@@ -191,7 +191,7 @@ class ProjectTest(DockerClientTestCase):
 
         web = project.get_service('web')
         net = project.get_service('net')
-        self.assertEqual(web.net.mode, 'container:' + net.containers()[0].id)
+        self.assertEqual(web.network_mode.mode, 'container:' + net.containers()[0].id)
 
     def test_net_from_container_v1(self):
         def get_project():
@@ -224,7 +224,7 @@ class ProjectTest(DockerClientTestCase):
         project.up()
 
         web = project.get_service('web')
-        self.assertEqual(web.net.mode, 'container:' + net_container.id)
+        self.assertEqual(web.network_mode.mode, 'container:' + net_container.id)
 
     def test_start_pause_unpause_stop_kill_remove(self):
         web = self.create_service('web')
diff --git a/tests/integration/service_test.py b/tests/integration/service_test.py
index 379e51ea0..cde50b104 100644
--- a/tests/integration/service_test.py
+++ b/tests/integration/service_test.py
@@ -26,7 +26,7 @@ from compose.const import LABEL_VERSION
 from compose.container import Container
 from compose.service import ConvergencePlan
 from compose.service import ConvergenceStrategy
-from compose.service import Net
+from compose.service import NetworkMode
 from compose.service import Service
 
 
@@ -752,17 +752,17 @@ class ServiceTest(DockerClientTestCase):
         assert len(service.containers(stopped=True)) == 2
 
     def test_network_mode_none(self):
-        service = self.create_service('web', net=Net('none'))
+        service = self.create_service('web', network_mode=NetworkMode('none'))
         container = create_and_start_container(service)
         self.assertEqual(container.get('HostConfig.NetworkMode'), 'none')
 
     def test_network_mode_bridged(self):
-        service = self.create_service('web', net=Net('bridge'))
+        service = self.create_service('web', network_mode=NetworkMode('bridge'))
         container = create_and_start_container(service)
         self.assertEqual(container.get('HostConfig.NetworkMode'), 'bridge')
 
     def test_network_mode_host(self):
-        service = self.create_service('web', net=Net('host'))
+        service = self.create_service('web', network_mode=NetworkMode('host'))
         container = create_and_start_container(service)
         self.assertEqual(container.get('HostConfig.NetworkMode'), 'host')
 
diff --git a/tests/unit/project_test.py b/tests/unit/project_test.py
index 3ad131f3c..21c6be475 100644
--- a/tests/unit/project_test.py
+++ b/tests/unit/project_test.py
@@ -349,7 +349,7 @@ class ProjectTest(unittest.TestCase):
             ),
         )
         service = project.get_service('test')
-        self.assertEqual(service.net.id, None)
+        self.assertEqual(service.network_mode.id, None)
         self.assertNotIn('NetworkMode', service._get_container_host_config({}))
 
     def test_use_net_from_container(self):
@@ -373,7 +373,7 @@ class ProjectTest(unittest.TestCase):
             ),
         )
         service = project.get_service('test')
-        self.assertEqual(service.net.mode, 'container:' + container_id)
+        self.assertEqual(service.network_mode.mode, 'container:' + container_id)
 
     def test_use_net_from_service(self):
         container_name = 'test_aaa_1'
@@ -407,7 +407,7 @@ class ProjectTest(unittest.TestCase):
         )
 
         service = project.get_service('test')
-        self.assertEqual(service.net.mode, 'container:' + container_name)
+        self.assertEqual(service.network_mode.mode, 'container:' + container_name)
 
     def test_uses_default_network_true(self):
         project = Project.from_config(
diff --git a/tests/unit/service_test.py b/tests/unit/service_test.py
index 4d9aec651..74e9f0f53 100644
--- a/tests/unit/service_test.py
+++ b/tests/unit/service_test.py
@@ -15,16 +15,16 @@ from compose.const import LABEL_SERVICE
 from compose.container import Container
 from compose.service import build_ulimits
 from compose.service import build_volume_binding
-from compose.service import ContainerNet
+from compose.service import ContainerNetworkMode
 from compose.service import get_container_data_volumes
 from compose.service import ImageType
 from compose.service import merge_volume_bindings
 from compose.service import NeedsBuildError
-from compose.service import Net
+from compose.service import NetworkMode
 from compose.service import NoSuchImageError
 from compose.service import parse_repository_tag
 from compose.service import Service
-from compose.service import ServiceNet
+from compose.service import ServiceNetworkMode
 from compose.service import warn_on_masked_volume
 
 
@@ -407,7 +407,7 @@ class ServiceTest(unittest.TestCase):
             'foo',
             image='example.com/foo',
             client=self.mock_client,
-            net=ServiceNet(Service('other')),
+            network_mode=ServiceNetworkMode(Service('other')),
             links=[(Service('one'), 'one')],
             volumes_from=[VolumeFromSpec(Service('two'), 'rw', 'service')])
 
@@ -421,7 +421,7 @@ class ServiceTest(unittest.TestCase):
         }
         self.assertEqual(config_dict, expected)
 
-    def test_config_dict_with_net_from_container(self):
+    def test_config_dict_with_network_mode_from_container(self):
         self.mock_client.inspect_image.return_value = {'Id': 'abcd'}
         container = Container(
             self.mock_client,
@@ -430,7 +430,7 @@ class ServiceTest(unittest.TestCase):
             'foo',
             image='example.com/foo',
             client=self.mock_client,
-            net=container)
+            network_mode=ContainerNetworkMode(container))
 
         config_dict = service.config_dict()
         expected = {
@@ -589,20 +589,20 @@ class BuildUlimitsTestCase(unittest.TestCase):
 
 class NetTestCase(unittest.TestCase):
 
-    def test_net(self):
-        net = Net('host')
-        self.assertEqual(net.id, 'host')
-        self.assertEqual(net.mode, 'host')
-        self.assertEqual(net.service_name, None)
+    def test_network_mode(self):
+        network_mode = NetworkMode('host')
+        self.assertEqual(network_mode.id, 'host')
+        self.assertEqual(network_mode.mode, 'host')
+        self.assertEqual(network_mode.service_name, None)
 
-    def test_net_container(self):
+    def test_network_mode_container(self):
         container_id = 'abcd'
-        net = ContainerNet(Container(None, {'Id': container_id}))
-        self.assertEqual(net.id, container_id)
-        self.assertEqual(net.mode, 'container:' + container_id)
-        self.assertEqual(net.service_name, None)
+        network_mode = ContainerNetworkMode(Container(None, {'Id': container_id}))
+        self.assertEqual(network_mode.id, container_id)
+        self.assertEqual(network_mode.mode, 'container:' + container_id)
+        self.assertEqual(network_mode.service_name, None)
 
-    def test_net_service(self):
+    def test_network_mode_service(self):
         container_id = 'bbbb'
         service_name = 'web'
         mock_client = mock.create_autospec(docker.Client)
@@ -611,23 +611,23 @@ class NetTestCase(unittest.TestCase):
         ]
 
         service = Service(name=service_name, client=mock_client)
-        net = ServiceNet(service)
+        network_mode = ServiceNetworkMode(service)
 
-        self.assertEqual(net.id, service_name)
-        self.assertEqual(net.mode, 'container:' + container_id)
-        self.assertEqual(net.service_name, service_name)
+        self.assertEqual(network_mode.id, service_name)
+        self.assertEqual(network_mode.mode, 'container:' + container_id)
+        self.assertEqual(network_mode.service_name, service_name)
 
-    def test_net_service_no_containers(self):
+    def test_network_mode_service_no_containers(self):
         service_name = 'web'
         mock_client = mock.create_autospec(docker.Client)
         mock_client.containers.return_value = []
 
         service = Service(name=service_name, client=mock_client)
-        net = ServiceNet(service)
+        network_mode = ServiceNetworkMode(service)
 
-        self.assertEqual(net.id, service_name)
-        self.assertEqual(net.mode, None)
-        self.assertEqual(net.service_name, service_name)
+        self.assertEqual(network_mode.id, service_name)
+        self.assertEqual(network_mode.mode, None)
+        self.assertEqual(network_mode.service_name, service_name)
 
 
 def build_mount(destination, source, mode='rw'):