~ubuntu-branches/ubuntu/vivid/neutron/vivid

« back to all changes in this revision

Viewing changes to neutron/tests/api/admin/test_shared_network_extension.py

  • Committer: Package Import Robot
  • Author(s): Chuck Short
  • Date: 2015-04-15 13:59:07 UTC
  • mfrom: (1.1.22)
  • Revision ID: package-import@ubuntu.com-20150415135907-z10fr18evag1ozq3
Tags: 1:2015.1~rc1-0ubuntu1
* New upstream milestone release:
  - debian/control: Update dependencies. 
  - debian/patches/disable-udev-tests.patch: Dropped no longer needed.
  - debian/patches/fixup-driver-test-execution.patch: Dropped no longer needed.
  - debian/patches/skip-iptest.patch: Skip failing test
  - debian/neutron-plugin-openvswitch-agent.install: Added neutron-ovsvapp-agent binary.
  - debian/neutron-plugin-cisco.install: Added neutron-cisco-apic-service-agent and 
    neutron-cisco-apic-host-agent

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright 2015 Hewlett-Packard Development Company, L.P.dsvsv
 
2
# Copyright 2015 OpenStack Foundation
 
3
# All Rights Reserved.
 
4
#
 
5
#    Licensed under the Apache License, Version 2.0 (the "License"); you may
 
6
#    not use this file except in compliance with the License. You may obtain
 
7
#    a copy of the License at
 
8
#
 
9
#         http://www.apache.org/licenses/LICENSE-2.0
 
10
#
 
11
#    Unless required by applicable law or agreed to in writing, software
 
12
#    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 
13
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 
14
#    License for the specific language governing permissions and limitations
 
15
#    under the License.
 
16
 
 
17
from neutron.tests.api import base
 
18
from neutron.tests.tempest import config
 
19
from neutron.tests.tempest import test
 
20
from tempest_lib.common.utils import data_utils
 
21
 
 
22
CONF = config.CONF
 
23
 
 
24
 
 
25
class SharedNetworksTest(base.BaseAdminNetworkTest):
 
26
 
 
27
    @classmethod
 
28
    def resource_setup(cls):
 
29
        super(SharedNetworksTest, cls).resource_setup()
 
30
        cls.shared_network = cls.create_shared_network()
 
31
 
 
32
    @test.idempotent_id('6661d219-b96d-4597-ad10-55766ce4abf7')
 
33
    def test_create_update_shared_network(self):
 
34
        shared_network = self.create_shared_network()
 
35
        net_id = shared_network['id']
 
36
        self.assertEqual('ACTIVE', shared_network['status'])
 
37
        self.assertIsNotNone(shared_network['id'])
 
38
        self.assertTrue(self.shared_network['shared'])
 
39
        new_name = "New_shared_network"
 
40
        body = self.admin_client.update_network(net_id, name=new_name,
 
41
                                                admin_state_up=False,
 
42
                                                shared=False)
 
43
        updated_net = body['network']
 
44
        self.assertEqual(new_name, updated_net['name'])
 
45
        self.assertFalse(updated_net['shared'])
 
46
        self.assertFalse(updated_net['admin_state_up'])
 
47
 
 
48
    @test.idempotent_id('9c31fabb-0181-464f-9ace-95144fe9ca77')
 
49
    def test_create_port_shared_network_as_non_admin_tenant(self):
 
50
        # create a port as non admin
 
51
        body = self.client.create_port(network_id=self.shared_network['id'])
 
52
        port = body['port']
 
53
        self.addCleanup(self.admin_client.delete_port, port['id'])
 
54
        # verify the tenant id of admin network and non admin port
 
55
        self.assertNotEqual(self.shared_network['tenant_id'],
 
56
                            port['tenant_id'])
 
57
 
 
58
    @test.idempotent_id('3e39c4a6-9caf-4710-88f1-d20073c6dd76')
 
59
    def test_create_bulk_shared_network(self):
 
60
        # Creates 2 networks in one request
 
61
        net_nm = [data_utils.rand_name('network'),
 
62
                  data_utils.rand_name('network')]
 
63
        body = self.admin_client.create_bulk_network(net_nm, shared=True)
 
64
        created_networks = body['networks']
 
65
        for net in created_networks:
 
66
            self.addCleanup(self.admin_client.delete_network, net['id'])
 
67
            self.assertIsNotNone(net['id'])
 
68
            self.assertTrue(net['shared'])
 
69
 
 
70
    def _list_shared_networks(self, user):
 
71
        body = user.list_networks(shared=True)
 
72
        networks_list = [net['id'] for net in body['networks']]
 
73
        self.assertIn(self.shared_network['id'], networks_list)
 
74
        self.assertTrue(self.shared_network['shared'])
 
75
 
 
76
    @test.idempotent_id('a064a9fd-e02f-474a-8159-f828cd636a28')
 
77
    def test_list_shared_networks(self):
 
78
        # List the shared networks and confirm that
 
79
        # shared network extension attribute is returned for those networks
 
80
        # that are created as shared
 
81
        self._list_shared_networks(self.admin_client)
 
82
        self._list_shared_networks(self.client)
 
83
 
 
84
    def _show_shared_network(self, user):
 
85
        body = user.show_network(self.shared_network['id'])
 
86
        show_shared_net = body['network']
 
87
        self.assertEqual(self.shared_network['name'], show_shared_net['name'])
 
88
        self.assertEqual(self.shared_network['id'], show_shared_net['id'])
 
89
        self.assertTrue(show_shared_net['shared'])
 
90
 
 
91
    @test.idempotent_id('e03c92a2-638d-4bfa-b50a-b1f66f087e58')
 
92
    def test_show_shared_networks_attribute(self):
 
93
        # Show a shared network and confirm that
 
94
        # shared network extension attribute is returned.
 
95
        self._show_shared_network(self.admin_client)
 
96
        self._show_shared_network(self.client)