def test_create_security_group_nova(self): group_name = self.getUniqueString() self.has_neutron = False group_desc = 'security group from test_create_security_group_neutron' new_group = meta.obj_to_munch( fakes.FakeSecgroup(id='2', name=group_name, description=group_desc, rules=[])) self.register_uris([ dict(method='POST', uri='{endpoint}/os-security-groups'.format( endpoint=fakes.COMPUTE_ENDPOINT), json={'security_group': new_group}, validate=dict( json={ 'security_group': { 'name': group_name, 'description': group_desc } })), ]) self.cloud.secgroup_source = 'nova' r = self.cloud.create_security_group(group_name, group_desc) self.assertEqual(group_name, r['name']) self.assertEqual(group_desc, r['description']) self.assert_calls()
def test_create_security_group_neutron(self): self.cloud.secgroup_source = 'neutron' group_name = self.getUniqueString() group_desc = 'security group from test_create_security_group_neutron' new_group = meta.obj_to_munch( fakes.FakeSecgroup(id='2', name=group_name, description=group_desc, rules=[])) self.register_uris([ dict(method='POST', uri=self.get_mock_url('network', 'public', append=['v2.0', 'security-groups.json']), json={'security_group': new_group}, validate=dict( json={ 'security_group': { 'name': group_name, 'description': group_desc } })) ]) r = self.cloud.create_security_group(group_name, group_desc) self.assertEqual(group_name, r['name']) self.assertEqual(group_desc, r['description']) self.assert_calls()
def test_create_security_group_nova(self, mock_nova): group_name = self.getUniqueString() group_desc = 'security group from test_create_security_group_neutron' new_group = fakes.FakeSecgroup(id='2', name=group_name, description=group_desc, rules=[]) mock_nova.security_groups.create.return_value = new_group self.cloud.secgroup_source = 'nova' r = self.cloud.create_security_group(group_name, group_desc) mock_nova.security_groups.create.assert_called_once_with( name=group_name, description=group_desc) self.assertEqual(group_name, r['name']) self.assertEqual(group_desc, r['description'])
def test_create_security_group_neutron_specific_tenant(self): self.cloud.secgroup_source = 'neutron' project_id = "861808a93da0484ea1767967c4df8a23" group_name = self.getUniqueString() group_desc = 'security group from' \ ' test_create_security_group_neutron_specific_tenant' new_group = meta.obj_to_munch( fakes.FakeSecgroup(id='2', name=group_name, description=group_desc, project_id=project_id, rules=[])) self.register_uris([ dict(method='POST', uri=self.get_mock_url('network', 'public', append=['v2.0', 'security-groups.json']), json={'security_group': new_group}, validate=dict( json={ 'security_group': { 'name': group_name, 'description': group_desc, 'tenant_id': project_id } })) ]) r = self.cloud.create_security_group(group_name, group_desc, project_id) self.assertEqual(group_name, r['name']) self.assertEqual(group_desc, r['description']) self.assertEqual(project_id, r['tenant_id']) self.assert_calls()
import copy import mock from novaclient import exceptions as nova_exc from neutronclient.common import exceptions as neutron_exc import shade from shade import meta from shade.tests.unit import base from shade.tests import fakes neutron_grp_obj = fakes.FakeSecgroup(id='1', name='neutron-sec-group', description='Test Neutron security group', rules=[ dict(id='1', port_range_min=80, port_range_max=81, protocol='tcp', remote_ip_prefix='0.0.0.0/0') ]) nova_grp_obj = fakes.FakeSecgroup(id='2', name='nova-sec-group', description='Test Nova security group #1', rules=[ dict(id='2', from_port=8000, to_port=8001, ip_protocol='tcp', ip_range=dict(cidr='0.0.0.0/0'), parent_group_id=None)