def data(self) -> Dict[str, Any]: """Data used to render slice in templates""" data: Dict[str, Any] = {} self.token = "" try: viz = self.viz data = viz.data if viz else self.form_data self.token = utils.get_form_data_token(data) except Exception as ex: # pylint: disable=broad-except logger.exception(ex) data["error"] = str(ex) return { "cache_timeout": self.cache_timeout, "changed_on": self.changed_on.isoformat(), "changed_on_humanized": self.changed_on_humanized, "datasource": self.datasource_name, "description": self.description, "description_markeddown": self.description_markeddown, "edit_url": self.edit_url, "form_data": self.form_data, "query_context": self.query_context, "modified": self.modified(), "owners": [owner.id for owner in self.owners], "slice_id": self.id, "slice_name": self.slice_name, "slice_url": self.slice_url, "certified_by": self.certified_by, "certification_details": self.certification_details, }
def test_get_form_data_token(self): assert get_form_data_token({"token": "token_abcdefg1"}) == "token_abcdefg1" generated_token = get_form_data_token({}) assert re.match(r"^token_[a-z0-9]{8}$", generated_token) is not None