127 lines
5.0 KiB
Python
127 lines
5.0 KiB
Python
# 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.
|
|
|
|
from oslo_config import cfg
|
|
from oslotest import base
|
|
|
|
from kuryr.lib import config
|
|
from kuryr.lib import constants as const
|
|
|
|
|
|
class TestCase(base.BaseTestCase):
|
|
"""Test case base class for all unit tests."""
|
|
|
|
def setUp(self):
|
|
super(TestCase, self).setUp()
|
|
CONF = cfg.CONF
|
|
CONF.register_opts(config.core_opts)
|
|
CONF.register_opts(config.binding_opts, group=config.binding_group)
|
|
config.register_neutron_opts(CONF)
|
|
|
|
@staticmethod
|
|
def _get_fake_networks(neutron_network_id):
|
|
fake_networks_response = {
|
|
"networks": [{
|
|
"status": "ACTIVE",
|
|
"subnets": [],
|
|
"name": "fake_network",
|
|
"admin_state_up": True,
|
|
"tenant_id": "9bacb3c5d39d41a79512987f338cf177",
|
|
"router:external": False,
|
|
"segments": [],
|
|
"shared": False,
|
|
"id": neutron_network_id
|
|
}]
|
|
}
|
|
return fake_networks_response
|
|
|
|
@staticmethod
|
|
def _get_fake_subnets(docker_endpoint_id, neutron_network_id,
|
|
fake_neutron_subnet_v4_id,
|
|
fake_neutron_subnet_v6_id):
|
|
# The following fake response is retrieved from the Neutron doc:
|
|
# http://developer.openstack.org/api-ref-networking-v2.html#createSubnet # noqa
|
|
fake_subnet_response = {
|
|
"subnets": [
|
|
{
|
|
"name": '-'.join([docker_endpoint_id, '192.168.1.0']),
|
|
"network_id": neutron_network_id,
|
|
"tenant_id": "c1210485b2424d48804aad5d39c61b8f",
|
|
"allocation_pools": [{"start": "192.168.1.2",
|
|
"end": "192.168.1.254"}],
|
|
"gateway_ip": "192.168.1.1",
|
|
"ip_version": 4,
|
|
"cidr": "192.168.1.0/24",
|
|
"id": fake_neutron_subnet_v4_id,
|
|
"enable_dhcp": True,
|
|
"subnetpool_id": ''
|
|
},
|
|
{
|
|
"name": '-'.join([docker_endpoint_id, 'fe80::']),
|
|
"network_id": neutron_network_id,
|
|
"tenant_id": "c1210485b2424d48804aad5d39c61b8f",
|
|
"allocation_pools": [{"start": "fe80::f816:3eff:fe20:57c4",
|
|
"end": "fe80::ffff:ffff:ffff:ffff"}],
|
|
"gateway_ip": "fe80::f816:3eff:fe20:57c3",
|
|
"ip_version": 6,
|
|
"cidr": "fe80::/64",
|
|
"id": fake_neutron_subnet_v6_id,
|
|
"enable_dhcp": True,
|
|
"subnetpool_id": ''
|
|
}
|
|
]
|
|
}
|
|
return fake_subnet_response
|
|
|
|
@staticmethod
|
|
def _get_fake_port(docker_endpoint_id, neutron_network_id,
|
|
neutron_port_id,
|
|
neutron_port_status=const.PORT_STATUS_DOWN,
|
|
neutron_subnet_v4_id=None,
|
|
neutron_subnet_v6_id=None,
|
|
neutron_subnet_v4_address="192.168.1.2",
|
|
neutron_subnet_v6_address="fe80::f816:3eff:fe20:57c4",
|
|
vif_details=None,
|
|
vif_type=None):
|
|
# The following fake response is retrieved from the Neutron doc:
|
|
# http://developer.openstack.org/api-ref-networking-v2.html#createPort # noqa
|
|
fake_port = {
|
|
'port': {
|
|
"status": neutron_port_status,
|
|
"name": docker_endpoint_id + '-port',
|
|
"allowed_address_pairs": [],
|
|
"admin_state_up": True,
|
|
"network_id": neutron_network_id,
|
|
"tenant_id": "d6700c0c9ffa4f1cb322cd4a1f3906fa",
|
|
"device_owner": "",
|
|
"mac_address": "fa:16:3e:20:57:c3",
|
|
"fixed_ips": [],
|
|
"id": neutron_port_id,
|
|
"security_groups": [],
|
|
"device_id": "",
|
|
"binding:vif_details": vif_details,
|
|
"binding:vif_type": vif_type
|
|
}
|
|
}
|
|
|
|
if neutron_subnet_v4_id:
|
|
fake_port['port']['fixed_ips'].append({
|
|
"subnet_id": neutron_subnet_v4_id,
|
|
"ip_address": neutron_subnet_v4_address
|
|
})
|
|
if neutron_subnet_v6_id:
|
|
fake_port['port']['fixed_ips'].append({
|
|
"subnet_id": neutron_subnet_v6_id,
|
|
"ip_address": neutron_subnet_v6_address
|
|
})
|
|
return fake_port
|