示例#1
0
    def _(self,
          obj_class,
          data=None,
          add_fields=True,
          with_background_tasks=False):
        """Handle generation of `Control` objects."""
        data = data if data is not None else {}
        # pylint: disable=protected-access
        obj_name = models.Control._inflector.table_singular
        # pylint: enable=protected-access
        obj_dict = self.obj_to_dict(models.Control(), obj_name)

        defaults = {
            obj_name: {
                "title": factories.random_str(),
                "context": None,
                "recipients": "Admin,Control Operators,Control Owners",
                "send_by_default": 0,
                "assertions": '["test assertion"]',
                "review_status": all_models.Review.STATES.UNREVIEWED,
                "review_status_display_name": "some status",
            }
        }

        obj_dict[obj_name].update(defaults[obj_name])

        if issubclass(obj_class, Synchronizable):
            obj_dict[obj_name].update(self._get_synchronizable_obj_dict())

        obj_dict[obj_name].update(data[obj_name] if obj_name in data else data)
        return self.generate(models.Control,
                             obj_name=obj_name,
                             data=obj_dict,
                             with_background_tasks=with_background_tasks)
示例#2
0
    def _(self,
          obj_class,
          data=None,
          add_fields=True,
          with_background_tasks=False):
        """Handle generation of `Control` objects."""
        data = data if data is not None else {}
        # pylint: disable=protected-access
        obj_name = models.Control._inflector.table_singular
        # pylint: enable=protected-access
        obj_dict = self.obj_to_dict(models.Control(), obj_name)

        defaults = {
            obj_name: {
                "title": factories.random_str(),
                "context": None,
                "recipients": "Admin,Control Operators,Control Owners",
                "send_by_default": 0,
                "assertions": [{
                    "id": factories.ControlAssertionFactory().id
                }]
            }
        }

        obj_dict[obj_name].update(defaults[obj_name])
        obj_dict[obj_name].update(data[obj_name] if obj_name in data else data)
        return self.generate(models.Control,
                             obj_name=obj_name,
                             data=obj_dict,
                             with_background_tasks=with_background_tasks)