示例#1
0
    def test_edit_rules_add_rule(self):
        SECGROUP_ID = '1'
        RULE_ID = '1'
        FROM_PORT = '-1'
        TO_PORT = '-1'
        IP_PROTOCOL = 'icmp'
        CIDR = '0.0.0.0/0'

        new_rule = self.mox.CreateMock(api.SecurityGroup)
        new_rule.from_port = FROM_PORT
        new_rule.to_port = TO_PORT
        new_rule.ip_protocol = IP_PROTOCOL
        new_rule.cidr = CIDR
        new_rule.security_group_id = SECGROUP_ID
        new_rule.id = RULE_ID

        formData = {
            'method': 'AddRule',
            'tenant_id': self.TEST_TENANT,
            'security_group_id': SECGROUP_ID,
            'from_port': FROM_PORT,
            'to_port': TO_PORT,
            'ip_protocol': IP_PROTOCOL,
            'cidr': CIDR
        }

        self.mox.StubOutWithMock(api, 'security_group_rule_create')
        api.security_group_rule_create(IsA(http.HttpRequest),
                           SECGROUP_ID, IP_PROTOCOL, FROM_PORT, TO_PORT, CIDR)\
                           .AndReturn(new_rule)

        self.mox.StubOutWithMock(messages, 'info')
        messages.info(IsA(http.HttpRequest), IsA(str))

        self.mox.ReplayAll()

        res = self.client.post(
            reverse('dash_security_groups_edit_rules',
                    args=[self.TEST_TENANT, SECGROUP_ID]), formData)

        self.assertRedirectsNoFollow(
            res,
            reverse('dash_security_groups_edit_rules',
                    args=[self.TEST_TENANT, SECGROUP_ID]))

        self.mox.VerifyAll()
    def test_edit_rules_add_rule(self):
        SECGROUP_ID = "1"
        RULE_ID = "1"
        FROM_PORT = "-1"
        TO_PORT = "-1"
        IP_PROTOCOL = "icmp"
        CIDR = "0.0.0.0/0"

        new_rule = self.mox.CreateMock(api.SecurityGroup)
        new_rule.from_port = FROM_PORT
        new_rule.to_port = TO_PORT
        new_rule.ip_protocol = IP_PROTOCOL
        new_rule.cidr = CIDR
        new_rule.security_group_id = SECGROUP_ID
        new_rule.id = RULE_ID

        formData = {
            "method": "AddRule",
            "tenant_id": self.TEST_TENANT,
            "security_group_id": SECGROUP_ID,
            "from_port": FROM_PORT,
            "to_port": TO_PORT,
            "ip_protocol": IP_PROTOCOL,
            "cidr": CIDR,
        }

        self.mox.StubOutWithMock(api, "security_group_rule_create")
        api.security_group_rule_create(
            IsA(http.HttpRequest), SECGROUP_ID, IP_PROTOCOL, FROM_PORT, TO_PORT, CIDR
        ).AndReturn(new_rule)

        self.mox.StubOutWithMock(messages, "info")
        messages.info(IsA(http.HttpRequest), IsA(str))

        self.mox.ReplayAll()

        res = self.client.post(
            reverse("dash_security_groups_edit_rules", args=[self.TEST_TENANT, SECGROUP_ID]), formData
        )

        self.assertRedirectsNoFollow(
            res, reverse("dash_security_groups_edit_rules", args=[self.TEST_TENANT, SECGROUP_ID])
        )

        self.mox.VerifyAll()
示例#3
0
    def test_edit_rules_add_rule(self):
        SECGROUP_ID = '1'
        RULE_ID = '1'
        FROM_PORT = '-1'
        TO_PORT = '-1'
        IP_PROTOCOL = 'icmp'
        CIDR = '0.0.0.0/0'

        new_rule = self.mox.CreateMock(api.SecurityGroup)
        new_rule.from_port = FROM_PORT
        new_rule.to_port = TO_PORT
        new_rule.ip_protocol = IP_PROTOCOL
        new_rule.cidr = CIDR
        new_rule.security_group_id = SECGROUP_ID
        new_rule.id = RULE_ID

        formData = {'method': 'AddRule',
                    'tenant_id': self.TEST_TENANT,
                    'security_group_id': SECGROUP_ID,
                    'from_port': FROM_PORT,
                    'to_port': TO_PORT,
                    'ip_protocol': IP_PROTOCOL,
                    'cidr': CIDR}

        self.mox.StubOutWithMock(api, 'security_group_rule_create')
        api.security_group_rule_create(IsA(http.HttpRequest),
                           SECGROUP_ID, IP_PROTOCOL, FROM_PORT, TO_PORT, CIDR)\
                           .AndReturn(new_rule)

        self.mox.StubOutWithMock(messages, 'info')
        messages.info(IsA(http.HttpRequest), IsA(basestring))

        self.mox.ReplayAll()

        res = self.client.post(reverse('dash_security_groups_edit_rules',
                                       args=[self.TEST_TENANT, SECGROUP_ID]),
                                       formData)

        self.assertRedirectsNoFollow(res,
                                     reverse('dash_security_groups_edit_rules',
                                     args=[self.TEST_TENANT, SECGROUP_ID]))

        self.mox.VerifyAll()
示例#4
0
    def test_edit_rules_add_rule_exception(self):
        exception = novaclient_exceptions.ClientException(
            'ClientException', message='ClientException')

        SECGROUP_ID = '1'
        RULE_ID = '1'
        FROM_PORT = '-1'
        TO_PORT = '-1'
        IP_PROTOCOL = 'icmp'
        CIDR = '0.0.0.0/0'

        formData = {
            'method': 'AddRule',
            'tenant_id': self.TEST_TENANT,
            'security_group_id': SECGROUP_ID,
            'from_port': FROM_PORT,
            'to_port': TO_PORT,
            'ip_protocol': IP_PROTOCOL,
            'cidr': CIDR
        }

        self.mox.StubOutWithMock(api, 'security_group_rule_create')
        api.security_group_rule_create(IsA(http.HttpRequest), SECGROUP_ID,
                                       IP_PROTOCOL, FROM_PORT, TO_PORT,
                                       CIDR).AndRaise(exception)

        self.mox.StubOutWithMock(messages, 'error')
        messages.error(IsA(http.HttpRequest), IsA(str))

        self.mox.ReplayAll()

        res = self.client.post(
            reverse('dash_security_groups_edit_rules',
                    args=[self.TEST_TENANT, SECGROUP_ID]), formData)

        self.assertRedirectsNoFollow(
            res,
            reverse('dash_security_groups_edit_rules',
                    args=[self.TEST_TENANT, SECGROUP_ID]))

        self.mox.VerifyAll()
    def test_edit_rules_add_rule_exception(self):
        exception = novaclient_exceptions.ClientException("ClientException", message="ClientException")

        SECGROUP_ID = "1"
        RULE_ID = "1"
        FROM_PORT = "-1"
        TO_PORT = "-1"
        IP_PROTOCOL = "icmp"
        CIDR = "0.0.0.0/0"

        formData = {
            "method": "AddRule",
            "tenant_id": self.TEST_TENANT,
            "security_group_id": SECGROUP_ID,
            "from_port": FROM_PORT,
            "to_port": TO_PORT,
            "ip_protocol": IP_PROTOCOL,
            "cidr": CIDR,
        }

        self.mox.StubOutWithMock(api, "security_group_rule_create")
        api.security_group_rule_create(
            IsA(http.HttpRequest), SECGROUP_ID, IP_PROTOCOL, FROM_PORT, TO_PORT, CIDR
        ).AndRaise(exception)

        self.mox.StubOutWithMock(messages, "error")
        messages.error(IsA(http.HttpRequest), IsA(str))

        self.mox.ReplayAll()

        res = self.client.post(
            reverse("dash_security_groups_edit_rules", args=[self.TEST_TENANT, SECGROUP_ID]), formData
        )

        self.assertRedirectsNoFollow(
            res, reverse("dash_security_groups_edit_rules", args=[self.TEST_TENANT, SECGROUP_ID])
        )

        self.mox.VerifyAll()
示例#6
0
    def test_edit_rules_add_rule_exception(self):
        exception = novaclient_exceptions.ClientException('ClientException',
                                                  message='ClientException')

        SECGROUP_ID = '1'
        RULE_ID = '1'
        FROM_PORT = '-1'
        TO_PORT = '-1'
        IP_PROTOCOL = 'icmp'
        CIDR = '0.0.0.0/0'

        formData = {'method': 'AddRule',
                    'tenant_id': self.TEST_TENANT,
                    'security_group_id': SECGROUP_ID,
                    'from_port': FROM_PORT,
                    'to_port': TO_PORT,
                    'ip_protocol': IP_PROTOCOL,
                    'cidr': CIDR}

        self.mox.StubOutWithMock(api, 'security_group_rule_create')
        api.security_group_rule_create(IsA(http.HttpRequest),
                           SECGROUP_ID, IP_PROTOCOL, FROM_PORT,
                           TO_PORT, CIDR).AndRaise(exception)

        self.mox.StubOutWithMock(messages, 'error')
        messages.error(IsA(http.HttpRequest), IsA(basestring))

        self.mox.ReplayAll()

        res = self.client.post(reverse('dash_security_groups_edit_rules',
                                       args=[self.TEST_TENANT, SECGROUP_ID]),
                                       formData)

        self.assertRedirectsNoFollow(res,
                                     reverse('dash_security_groups_edit_rules',
                                     args=[self.TEST_TENANT, SECGROUP_ID]))

        self.mox.VerifyAll()
示例#7
0
    def handle(self, request, data):
        tenant_id = data['tenant_id']
        try:
            LOG.info('Add security_group_rule: "%s"' % data)

            rule = api.security_group_rule_create(
                request, data['security_group_id'], data['ip_protocol'],
                data['from_port'], data['to_port'], data['cidr'])
            messages.info(request, 'Successfully added rule: %s' \
                                    % rule.id)
        except novaclient_exceptions.ClientException, e:
            LOG.error("ClientException in AddRule", exc_info=True)
            messages.error(request,
                           'Error adding rule security group: %s' % e.message)
    def handle(self, request, data):
        tenant_id = data["tenant_id"]
        try:
            LOG.info('Add security_group_rule: "%s"' % data)

            rule = api.security_group_rule_create(
                request,
                data["security_group_id"],
                data["ip_protocol"],
                data["from_port"],
                data["to_port"],
                data["cidr"],
            )
            messages.info(request, "Successfully added rule: %s" % rule.id)
        except novaclient_exceptions.ClientException, e:
            LOG.exception("ClientException in AddRule")
            messages.error(request, "Error adding rule security group: %s" % e.message)
示例#9
0
    def handle(self, request, data):
        tenant_id = data['tenant_id']
        try:
            LOG.info('Add security_group_rule: "%s"' % data)

            rule = api.security_group_rule_create(request,
                                                  data['security_group_id'],
                                                  data['ip_protocol'],
                                                  data['from_port'],
                                                  data['to_port'],
                                                  data['cidr'])
            messages.info(request, _('Successfully added rule: %s') \
                                    % rule.id)
        except novaclient_exceptions.ClientException, e:
            LOG.exception("ClientException in AddRule")
            messages.error(request, _('Error adding rule security group: %s')
                                     % e.message)