

def test_security_group_rule_create(self):
    sg_rule = [r for r in self.api_q_secgroup_rules.list() if ((r['protocol'] == 'tcp') and r['remote_ip_prefix'])][0]
    sg_id = sg_rule['security_group_id']
    secgroup = [sg for sg in self.api_q_secgroups.list() if (sg['id'] == sg_id)][0]
    post_rule = copy.deepcopy(sg_rule)
    del post_rule['id']
    del post_rule['tenant_id']
    post_body = {
        'security_group_rule': post_rule,
    }
    self.qclient.create_security_group_rule(post_body).AndReturn({
        'security_group_rule': copy.deepcopy(sg_rule),
    })
    self.qclient.list_security_groups(id=set([sg_id]), fields=['id', 'name']).AndReturn({
        'security_groups': [copy.deepcopy(secgroup)],
    })
    self.mox.ReplayAll()
    ret = api.network.security_group_rule_create(self.request, sg_rule['security_group_id'], sg_rule['direction'], sg_rule['ethertype'], sg_rule['protocol'], sg_rule['port_range_min'], sg_rule['port_range_max'], sg_rule['remote_ip_prefix'], sg_rule['remote_group_id'])
    self._cmp_sg_rule(sg_rule, ret)

dataset/ETHPy150Open CiscoSystems/avos/openstack_dashboard/test/api_tests/network_tests.py NetworkApiNeutronSecurityGroupTests.test_security_group_rule_create/original