Merge "Add unit test for kuryr network driver"
This commit is contained in:
commit
2fc4b19cfd
@ -49,6 +49,7 @@ def get_test_container(**kwargs):
|
||||
'private': [
|
||||
{
|
||||
'OS-EXT-IPS-MAC:mac_addr': 'fa:16:3e:04:da:76',
|
||||
'port': '1234567',
|
||||
'version': 4,
|
||||
'addr': '10.0.0.12',
|
||||
'OS-EXT-IPS:type': 'fixed'
|
||||
|
121
zun/tests/unit/network/test_kuryr_network.py
Normal file
121
zun/tests/unit/network/test_kuryr_network.py
Normal file
@ -0,0 +1,121 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||
# not use this file except in compliance with the License. You may obtain
|
||||
# a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
"""
|
||||
Tests For kuryr network
|
||||
"""
|
||||
|
||||
from zun.network import kuryr_network
|
||||
from zun.objects.container import Container
|
||||
from zun.tests import base
|
||||
from zun.tests.unit.db import utils
|
||||
|
||||
|
||||
class FakeNeutronClient(object):
|
||||
|
||||
def list_subnets(self, **kwargs):
|
||||
return {'subnets': [{'ip_version': 4, 'subnetpool_id': '1234567',
|
||||
'cidr': '255.255.255.0',
|
||||
'gateway_ip': '192.168.2.0'}]}
|
||||
|
||||
def create_port(self, port_id):
|
||||
return {'port': {'fixed_ips': [{'ip_address': '192.168.2.22'}],
|
||||
'id': '1234567'}}
|
||||
|
||||
def update_port(self, port_id, port):
|
||||
pass
|
||||
|
||||
def list_ports(self):
|
||||
return {'ports': [{'id': '1234567'}]}
|
||||
|
||||
def delete_port(self, port_id):
|
||||
pass
|
||||
|
||||
|
||||
class FakeDockerClient(object):
|
||||
|
||||
def create_network(self, **kwargs):
|
||||
return {'Warning': '',
|
||||
'Id': '7372099cdcecbc9918d3666440b73a170d9690'}
|
||||
|
||||
def remove_network(self, network_name):
|
||||
pass
|
||||
|
||||
def inspect_network(self, network_name):
|
||||
return {'Name': 'c02afe4e-8350-4263-8078',
|
||||
'Options': {'neutron.net.uuid': '1234567'}}
|
||||
|
||||
def networks(self, **kwargs):
|
||||
return [{'Name': 'test_network'}]
|
||||
|
||||
def connect_container_to_network(self, container_id, network_name,
|
||||
**kwargs):
|
||||
pass
|
||||
|
||||
def disconnect_container_from_network(self, container_id,
|
||||
network_name):
|
||||
pass
|
||||
|
||||
|
||||
class KuryrNetowrkTestCase(base.TestCase):
|
||||
"""Test casse for kuryr network"""
|
||||
|
||||
def setUp(self):
|
||||
super(KuryrNetowrkTestCase, self).setUp()
|
||||
self.docker_api = FakeDockerClient()
|
||||
self.network_api = kuryr_network.KuryrNetwork()
|
||||
self.network_api.init(self.context, self.docker_api)
|
||||
self.network_api.neutron = FakeNeutronClient()
|
||||
|
||||
def test_create_network(self):
|
||||
name = 'test_kuryr_network'
|
||||
neutron_net_id = '1234567'
|
||||
expected = {'Warning': '',
|
||||
'Id': '7372099cdcecbc9918d3666440b73a170d9690'}
|
||||
docker_network = self.network_api.create_network(name, neutron_net_id)
|
||||
self.assertEqual(expected, docker_network)
|
||||
|
||||
def test_remove_network(self):
|
||||
network_name = 'c02afe4e-8350-4263-8078'
|
||||
self.network_api.remove_network(network_name)
|
||||
|
||||
def test_inspect_network(self):
|
||||
network_name = 'c02afe4e-8350-4263-8078'
|
||||
expected = {'Name': 'c02afe4e-8350-4263-8078',
|
||||
'Options': {'neutron.net.uuid': '1234567'}}
|
||||
info = self.network_api.inspect_network(network_name)
|
||||
self.assertEqual(expected, info)
|
||||
|
||||
def test_list_networks(self):
|
||||
expected = [{'Name': 'test_network'}]
|
||||
networks = self.network_api.list_networks()
|
||||
self.assertEqual(expected, networks)
|
||||
|
||||
def test_connect_container_to_network(self):
|
||||
container = Container(self.context, **utils.get_test_container())
|
||||
network_name = 'c02afe4e-8350-4263-8078'
|
||||
expected = [{'version': 4, 'addr': '192.168.2.22',
|
||||
'port': '1234567'}]
|
||||
address = self.network_api.connect_container_to_network(container,
|
||||
network_name)
|
||||
self.assertEqual(expected, address)
|
||||
|
||||
def test_disconnect_container_from_network(self):
|
||||
container = Container(self.context, **utils.get_test_container())
|
||||
network_name = 'c02afe4e-8350-4263-8078'
|
||||
self.network_api.disconnect_container_from_network(container,
|
||||
network_name)
|
||||
|
||||
def test_add_security_groups_to_ports(self):
|
||||
container = Container(self.context, **utils.get_test_container())
|
||||
security_group_ids = ['1234567']
|
||||
self.network_api.add_security_groups_to_ports(container,
|
||||
security_group_ids)
|
Loading…
x
Reference in New Issue
Block a user