robotframework-camunda icon indicating copy to clipboard operation
robotframework-camunda copied to clipboard

Use robot.utils.DotDict instead of dict

Open Noordsestern opened this issue 3 years ago • 0 comments

robot.utils.DotDict supports dot-notation in order to access values in dictionaries: ${process.id} instead of only ${process}[id]

from robot.utils import DotDict

@keyword("Get fetch response", tags=['task'])
    def get_fetch_response(self):
        """Returns cached response from the last call of `fetch workload`.

        The response contains all kind of data that is required for custom REST Calls.

        Example:
            | *** Settings *** |
            | *Library* | RequestsLibrary |
            | |
            | *** Tasks *** |
            | | *Create Session* | _alias=camunda_ | _url=http://localhost:8080/_ |
            | | ${variables} | *fetch workload* | _my_first_task_in_demo_ | |
            | | ${fetch_response} | *get fetch response* | | |
            | | *POST On Session* | _camunda_ | _engine-rest/external-task/${fetch_response}[id]/complete_ | _json=${{ {'workerId': '${fetch_response}[worker_id]'} }}_ |
        """
        if self.FETCH_RESPONSE:
            return DotDict(self.FETCH_RESPONSE.to_dict())
        return self.FETCH_RESPONSE

Noordsestern avatar Apr 05 '22 10:04 Noordsestern