¡@

Home 

OpenStack Study: test_brocade_db.py

OpenStack Index

**** CubicPower OpenStack Study ****

# vim: tabstop=4 shiftwidth=4 softtabstop=4

#

# Copyright (c) 2013 OpenStack Foundation.

#

# 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.

"""

Unit test brocade db.

"""

import uuid

from neutron import context

from neutron.plugins.brocade.db import models as brocade_db

from neutron.tests.unit import test_db_plugin as test_plugin

TEST_VLAN = 1000

**** CubicPower OpenStack Study ****

class TestBrocadeDb(test_plugin.NeutronDbPluginV2TestCase):

"""Test brocade db functionality."""

**** CubicPower OpenStack Study ****

    def test_create_network(self):

        """Test brocade specific network db."""

        net_id = str(uuid.uuid4())

        # Create a network

        self.context = context.get_admin_context()

        brocade_db.create_network(self.context, net_id, TEST_VLAN)

        # Get the network and verify

        net = brocade_db.get_network(self.context, net_id)

        self.assertEqual(net['id'], net_id)

        self.assertEqual(int(net['vlan']), TEST_VLAN)

        # Delete the network

        brocade_db.delete_network(self.context, net['id'])

        self.assertFalse(brocade_db.get_networks(self.context))

**** CubicPower OpenStack Study ****

    def test_create_port(self):

        """Test brocade specific port db."""

        net_id = str(uuid.uuid4())

        port_id = str(uuid.uuid4())

        # port_id is truncated: since the linux-bridge tap device names are

        # based on truncated port id, this enables port lookups using

        # tap devices

        port_id = port_id[0:11]

        tenant_id = str(uuid.uuid4())

        admin_state_up = True

        # Create Port

        # To create a port a network must exists, Create a network

        self.context = context.get_admin_context()

        brocade_db.create_network(self.context, net_id, TEST_VLAN)

        physical_interface = "em1"

        brocade_db.create_port(self.context, port_id, net_id,

                               physical_interface,

                               TEST_VLAN, tenant_id, admin_state_up)

        port = brocade_db.get_port(self.context, port_id)

        self.assertEqual(port['port_id'], port_id)

        self.assertEqual(port['network_id'], net_id)

        self.assertEqual(port['physical_interface'], physical_interface)

        self.assertEqual(int(port['vlan_id']), TEST_VLAN)

        self.assertEqual(port['tenant_id'], tenant_id)

        self.assertEqual(port['admin_state_up'], admin_state_up)

        admin_state_up = True

        brocade_db.update_port_state(self.context, port_id, admin_state_up)

        port = brocade_db.get_port(self.context, port_id)

        self.assertEqual(port['admin_state_up'], admin_state_up)

        admin_state_up = False

        brocade_db.update_port_state(self.context, port_id, admin_state_up)

        port = brocade_db.get_port(self.context, port_id)

        self.assertEqual(port['admin_state_up'], admin_state_up)

        admin_state_up = True

        brocade_db.update_port_state(self.context, port_id, admin_state_up)

        port = brocade_db.get_port(self.context, port_id)

        self.assertEqual(port['admin_state_up'], admin_state_up)

        # Delete Port

        brocade_db.delete_port(self.context, port_id)

        self.assertFalse(brocade_db.get_ports(self.context))