mirror of https://github.com/docker/docker-py.git
Normalise/fix networking API JSON keys
- Use CamelCase - `auxaddresses` -> `AuxiliaryAddresses` Signed-off-by: Aanand Prasad <aanand.prasad@gmail.com>
This commit is contained in:
parent
bd658f7f7f
commit
21a5a0a049
|
@ -24,10 +24,10 @@ class NetworkApiMixin(object):
|
|||
raise TypeError('options must be a dictionary')
|
||||
|
||||
data = {
|
||||
'name': name,
|
||||
'driver': driver,
|
||||
'options': options,
|
||||
'ipam': ipam,
|
||||
'Name': name,
|
||||
'Driver': driver,
|
||||
'Options': options,
|
||||
'IPAM': ipam,
|
||||
}
|
||||
url = self._url("/networks/create")
|
||||
res = self._post_json(url, data=data)
|
||||
|
|
|
@ -47,17 +47,17 @@ BYTE_UNITS = {
|
|||
def create_ipam_pool(subnet=None, iprange=None, gateway=None,
|
||||
aux_addresses=None):
|
||||
return {
|
||||
'subnet': subnet,
|
||||
'iprange': iprange,
|
||||
'gateway': gateway,
|
||||
'auxaddresses': aux_addresses
|
||||
'Subnet': subnet,
|
||||
'IPRange': iprange,
|
||||
'Gateway': gateway,
|
||||
'AuxiliaryAddresses': aux_addresses
|
||||
}
|
||||
|
||||
|
||||
def create_ipam_config(driver='default', pool_configs=None):
|
||||
return {
|
||||
'driver': driver,
|
||||
'config': pool_configs or []
|
||||
'Driver': driver,
|
||||
'Config': pool_configs or []
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
import random
|
||||
|
||||
import docker
|
||||
from docker.utils import create_ipam_config
|
||||
from docker.utils import create_ipam_pool
|
||||
import pytest
|
||||
|
||||
from .. import helpers
|
||||
|
@ -42,6 +44,45 @@ class TestNetworks(helpers.BaseTestCase):
|
|||
self.assertEqual(net['Scope'], 'local')
|
||||
self.assertEqual(net['IPAM']['Driver'], 'default')
|
||||
|
||||
@requires_api_version('1.21')
|
||||
def test_create_network_with_ipam_config(self):
|
||||
_, net_id = self.create_network(
|
||||
ipam=create_ipam_config(
|
||||
driver='default',
|
||||
pool_configs=[
|
||||
create_ipam_pool(
|
||||
subnet="172.28.0.0/16",
|
||||
iprange="172.28.5.0/24",
|
||||
gateway="172.28.5.254",
|
||||
aux_addresses={
|
||||
"a": "172.28.1.5",
|
||||
"b": "172.28.1.6",
|
||||
"c": "172.28.1.7",
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
net = self.client.inspect_network(net_id)
|
||||
ipam = net['IPAM']
|
||||
|
||||
assert ipam.pop('Options', None) is None
|
||||
|
||||
assert ipam == {
|
||||
'Driver': 'default',
|
||||
'Config': [{
|
||||
'Subnet': "172.28.0.0/16",
|
||||
'IPRange': "172.28.5.0/24",
|
||||
'Gateway': "172.28.5.254",
|
||||
'AuxiliaryAddresses': {
|
||||
"a": "172.28.1.5",
|
||||
"b": "172.28.1.6",
|
||||
"c": "172.28.1.7",
|
||||
},
|
||||
}],
|
||||
}
|
||||
|
||||
@requires_api_version('1.21')
|
||||
def test_create_network_with_host_driver_fails(self):
|
||||
net_name = 'dockerpy{}'.format(random.getrandbits(24))[:14]
|
||||
|
|
|
@ -69,7 +69,7 @@ class NetworkTest(DockerClientTest):
|
|||
|
||||
self.assertEqual(
|
||||
json.loads(post.call_args[1]['data']),
|
||||
{"name": "foo"})
|
||||
{"Name": "foo"})
|
||||
|
||||
opts = {
|
||||
'com.docker.network.bridge.enable_icc': False,
|
||||
|
@ -79,7 +79,7 @@ class NetworkTest(DockerClientTest):
|
|||
|
||||
self.assertEqual(
|
||||
json.loads(post.call_args[1]['data']),
|
||||
{"name": "foo", "driver": "bridge", "options": opts})
|
||||
{"Name": "foo", "Driver": "bridge", "Options": opts})
|
||||
|
||||
ipam_pool_config = create_ipam_pool(subnet="192.168.52.0/24",
|
||||
gateway="192.168.52.254")
|
||||
|
@ -91,15 +91,15 @@ class NetworkTest(DockerClientTest):
|
|||
self.assertEqual(
|
||||
json.loads(post.call_args[1]['data']),
|
||||
{
|
||||
"name": "bar",
|
||||
"driver": "bridge",
|
||||
"ipam": {
|
||||
"driver": "default",
|
||||
"config": [{
|
||||
"iprange": None,
|
||||
"gateway": "192.168.52.254",
|
||||
"subnet": "192.168.52.0/24",
|
||||
"auxaddresses": None
|
||||
"Name": "bar",
|
||||
"Driver": "bridge",
|
||||
"IPAM": {
|
||||
"Driver": "default",
|
||||
"Config": [{
|
||||
"IPRange": None,
|
||||
"Gateway": "192.168.52.254",
|
||||
"Subnet": "192.168.52.0/24",
|
||||
"AuxiliaryAddresses": None,
|
||||
}]
|
||||
}
|
||||
})
|
||||
|
|
|
@ -442,12 +442,12 @@ class UtilsTest(base.BaseTestCase):
|
|||
|
||||
ipam_config = create_ipam_config(pool_configs=[ipam_pool])
|
||||
self.assertEqual(ipam_config, {
|
||||
'driver': 'default',
|
||||
'config': [{
|
||||
'subnet': '192.168.52.0/24',
|
||||
'gateway': '192.168.52.254',
|
||||
'auxaddresses': None,
|
||||
'iprange': None
|
||||
'Driver': 'default',
|
||||
'Config': [{
|
||||
'Subnet': '192.168.52.0/24',
|
||||
'Gateway': '192.168.52.254',
|
||||
'AuxiliaryAddresses': None,
|
||||
'IPRange': None,
|
||||
}]
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue