Exemple #1
0
    def test_sort_security_groups(self):
        def generate_security_groups(**kwargs):
            security_groups = {
                     "tenant_id": "abcd",
                     "tenant_name": "Project_abcd",
                     "name": "test",
                     "description": "test"
                     }
            security_groups.update(**kwargs)
            return security_groups
        security_groups1 = generate_security_groups(tenant_id="ownerA",
                                                    tenant_name="Project_owA",
                                                    name="sg1",
                                                    description="test")
        security_groups2 = generate_security_groups(tenant_id="admin",
                                                    tenant_name="Project_admi",
                                                    name="ubuntu",
                                                    description="test")
        security_groups3 = generate_security_groups(tenant_id="opt",
                                                    tenant_name="Project_opt",
                                                    name="sg2",
                                                    description="my sg")
        groups = [security_groups1, security_groups2, security_groups3]

        req = webob.Request.blank(
                '/sort?umbrella_sort_key=tenantid')
        result = list_sort.sort_security_groups(req, groups)
        expected = [security_groups2, security_groups3, security_groups1]
        self.assertEqual(result, expected)

        req = webob.Request.blank(
                '/sort?umbrella_sort_key=tenant_name')
        result = list_sort.sort_security_groups(req, groups)
        expected = [security_groups2, security_groups3, security_groups1]
        self.assertEqual(result, expected)

        req = webob.Request.blank(
                '/sort?umbrella_sort_key=name')
        result = list_sort.sort_security_groups(req, groups)
        expected = [security_groups1, security_groups3, security_groups2]
        self.assertEqual(result, expected)

        req = webob.Request.blank(
                '/sort?umbrella_sort_key=description')
        result = list_sort.sort_security_groups(req, groups)
        expected = [security_groups3, security_groups1, security_groups2]
        self.assertEqual(result, expected)

        req = webob.Request.blank(
                '/sort?umbrella_sort_key=description&umbrella_sort_dir=desc')
        result = list_sort.sort_security_groups(req, groups)
        expected = [security_groups1, security_groups2, security_groups3]
        self.assertEqual(result, expected)
Exemple #2
0
 def list_security_groups(self, req, tenant_id):
     '''
     list all security groups
     '''
     result, headers = self._nova_request(req)
     try:
         groups = result['security_groups']
         auth_token = req.context.auth_tok
         for group in groups:
             group.pop("rules")
             tenant_id = group.get("tenant_id")
             tenant = ops_api.get_tenant(tenant_id, auth_token)
             tenant_name = tenant['name']
             group.update(tenant_name=tenant_name)
         groups = list_filter.filter_security_groups(req, groups)
         groups = list_sort.sort_security_groups(req, groups)
         return dict(security_groups=groups)
     except KeyError:
         LOG.exception(_("repack server data error."))
         raise exc.HTTPFailedDependency(_("Nova method deprecated."))