def generateEvent(self, data={}, destination=None): ''' Generates a new event. This function can get overridden by ``wishbone.module.InputModule._generateNativeEvent``. The provided ``data`` will be traversed in search of valid templates which then will be rendered. Args: data (``data``): The payload to add to the event. destination (None): The destination key to write the data to Returns: wishbone.event.Event: An event containing ``data`` as a payload. ''' if destination in [None, "data"]: event = Wishbone_Event(data) event.renderField(destination, self.env_template) else: event = Wishbone_Event() event.set(data, destination) event.renderField(destination, self.env_template) return event
def test_render_field(): e = Event({"value": "Hello", "template": "{{data.value}} how are you doing?"}) assert e.get("data.template") == "{{data.value}} how are you doing?" e.renderField("data.template") assert e.get("data.template") == "Hello how are you doing?"