Example #1
0
 def test_group_delete(self):
     values_before = {
         "gid": self.gid,
         "user_id": "user_id",
         "project_id": "project_id",
         "display_name": "My_group",
         "display_description": "This is my group.",
         "status": "active"
     }
     db.group_create(self.user_ctxt, values_before)
     deleted_group = db.group_delete(self.ctxt, self.gid)
     self.assertEqual(deleted_group["deleted"], 1)
     self.assertEqual(deleted_group["status"], "DELETING")
     self.assertIsNotNone(deleted_group.get("deleted_at"))
Example #2
0
 def _create_group(self, values, user_id=None, project_id=None):
     user_ctxt = context.RequestContext(user_id, project_id)
     values['gid'] = unicode(uuid.uuid4())
     values['user_id'] = user_id
     values['project_id'] = project_id
     v = self._get_base_values()
     v.update(values)
     return db.group_create(user_ctxt, v)
Example #3
0
 def _create_group(self, gid):
     values = {
         "gid": gid,
         "user_id": self.user_ctxt.user_id,
         "project_id": self.user_ctxt.project_id,
         "display_name": "test_group",
         "dsplay_description": "This is test group.",
         "is_default": False,
         "status": "ACTIVE"
     }
     return db.group_create(self.user_ctxt, values)
Example #4
0
 def test_group_create(self):
     values = {
         "gid": "12345678-1234-5678-9123-123456789012",
         "user_id": "user",
         "project_id": "user",
         "display_name": "test_group",
         "display_description": "This is test group",
         "status": "active"
     }
     group = db.group_create(self.user_ctxt, values)
     ignored_keys = ['deleted', 'deleted_at', 'updated_at',
                     'created_at']
     values.update({"user_id": "user",
                    "project_id": "user",
                    "status": "active"})
     self.assertIsNotNone(group['gid'])
     self._assertEqualObjects(group, values, ignored_keys)
Example #5
0
    def create(self, req, body):
        def _validate(body):
            if not self.is_valid_body(body, 'group'):
                msg = _("Invalid request body")
                raise exception.InvalidInput(reason=msg)

            values = body["group"]
            name = values.get("name")
            description = values.get("description")

            if not name:
                msg = _("Group name is required")
                raise exception.InvalidInput(reason=msg)

            if isinstance(name, six.string_types):
                name = name.strip()
            utils.check_string_length(name,
                                      'name',
                                      min_length=1,
                                      max_length=255)

            if description:
                utils.check_string_length(description,
                                          'description',
                                          min_length=0,
                                          max_length=255)

            valid_values = {}
            valid_values["display_name"] = name
            valid_values["display_description"] = description
            return valid_values

        try:
            values = _validate(body)
        except exception.InvalidInput as exc:
            raise webob.exc.HTTPBadRequest(explanation=exc.format_message())

        context = req.environ['rack.context']
        values["gid"] = unicode(uuid.uuid4())
        values["user_id"] = context.user_id
        values["project_id"] = context.project_id
        values["status"] = "ACTIVE"
        group = db.group_create(context, values)

        return self._view_builder.create(group)
Example #6
0
 def test_group_update(self):
     values_before = {
         "gid": "12345678-1234-5678-9123-123456789012",
         "user_id": "user",
         "project_id": "user",
         "display_name": "My_group",
         "display_description": "This is my group.",
         "status": "active"
     }
     group_before = db.group_create(self.user_ctxt, values_before)
     values = {
         "gid": group_before["gid"],
         "display_name": "My_group_updated",
         "display_description": "This is my group updated."
     }
     group = db.group_update(self.user_ctxt, values)
     ignored_keys = ['deleted', 'deleted_at', 'updated_at',
                     'created_at', "user_id", "project_id", "status"]
     self._assertEqualObjects(group, values, ignored_keys)
Example #7
0
    def create(self, req, body):

        def _validate(body):
            if not self.is_valid_body(body, 'group'):
                msg = _("Invalid request body")
                raise exception.InvalidInput(reason=msg)

            values = body["group"]
            name = values.get("name")
            description = values.get("description")

            if not name:
                msg = _("Group name is required")
                raise exception.InvalidInput(reason=msg)

            if isinstance(name, six.string_types):
                name = name.strip()
            utils.check_string_length(name, 'name', min_length=1,
                                      max_length=255)

            if description:
                utils.check_string_length(description, 'description',
                                          min_length=0, max_length=255)

            valid_values = {}
            valid_values["display_name"] = name
            valid_values["display_description"] = description
            return valid_values

        try:
            values = _validate(body)
        except exception.InvalidInput as exc:
            raise webob.exc.HTTPBadRequest(explanation=exc.format_message())

        context = req.environ['rack.context']
        values["gid"] = unicode(uuid.uuid4())
        values["user_id"] = context.user_id
        values["project_id"] = context.project_id
        values["status"] = "ACTIVE"
        group = db.group_create(context, values)

        return self._view_builder.create(group)
Example #8
0
 def test_group_update_gid_not_found(self):
     # test
     values_before = {
         "gid": "12345678-1234-5678-9123-123456789012",
         "user_id": "user",
         "project_id": "user",
         "display_name": "My_group",
         "display_description": "This is my group.",
         "status": "active"
     }
     group_before = db.group_create(self.user_ctxt, values_before)
     values = {
         "gid": group_before["gid"] + "not-found",
         "display_name": "My_group_updated",
         "display_description": "This is my group updated."
     }
     try:
         db.group_update(self.user_ctxt, values)
     except Exception as e:
         status_code = e.code
     self.assertEqual(status_code, 404)