microsoft / restler-fuzzer

RESTler is the first stateful REST API fuzzing tool for automatically testing cloud services through their REST APIs and finding security and reliability bugs in these services.
MIT License
2.52k stars 284 forks source link

Enable setting equality constraints on uuid4 suffix payloads #760

Closed marina-p closed 1 year ago

marina-p commented 1 year ago

Some request types have payloads with a unique value generated via uuid4_suffix (e.g. a PUT request that must create a new ID every time), and require the same value to be passed in multiple places in the payload. RESTler did not previously have a way to specify the equality constraints on such payload parameters or properties.

This change enables another property to be assigned the same value as the uuid4 suffix via an annotation, for example:

    {
      "producer_endpoint": "/archive/{archiveId}",
      "producer_method": "PUT",
      "consumer_endpoint": "/archive/{archiveId}",
      "consumer_method": "PUT",
      "producer_resource_name": "archiveId",
      "consumer_param": "/id"
    }

Testing:

Partially implements #89