Thursday, 29 December 2022

Tech Excellence and Traffic Parrot

We are excited to announce that Traffic Parrot is part of the Tech Excellence network.

Wojciech will speak at a Tech Excellence event in May 2023, sharing his thoughts on "Testing Microservices: 12 Black-Box Testing Techniques". Stay tuned for more details by subscribing to our newsletter by leaving your email address in the field on the right!


Tech Excellence

Learn how to deliver quality software faster. Our vision is to raise the bar of technical excellence across the world.



Optivem

Better Software Faster: Helping backend development teams deliver quality software faster with TDD, Clean Architecture & Clean Code.



Monday, 19 December 2022

Traffic Parrot 5.35.8 released, what's new?

We have just released version 5.35.8. Here is a list of the changes that came with the release:

Features

  • Added new "does not contain" request matcher support to the UI

Fixes

  • API now allows cross-origin requests
  • Trim whitespace from JSONPath request matcher to avoid confusing not matched issues
  • Fixed an issue exporting/importing HTTP mappings ZIP between different scenarios
  • Fixed a UI issue where gRPC mappings were saved with empty webhooks
  • Library upgrades to fix OWASP issues

Changes

  • UI now makes it clear that HTTP record/proxy/passthrough is not supported in a non default scenario yet

Tuesday, 13 December 2022

How do I ignore JSON array order during request matching?

When matching JSON requests, sometimes the array order is unpredictable e.g. if the array is used to represent a set of unordered objects.

{
  "exampleId": 1
  "exampleRoot": {
    "exampleArray": [
      {
        "id": 1
      },
      {
        "id": 2
      }
    ]
  }
}

To match this type of request in Traffic Parrot, there are several options, here are some of them:

  • matchesJson matcher with {{anyElements}} wildcard token
    {
      "exampleId": 1,
      "exampleRoot": {
        "exampleArray": "{{anyElements}}"
      }
    }
  • matchesJsonPath matcher which uses standard JSONPath notation
    $[?(@.exampleId == 1 && '1' in @.exampleRoot.exampleArray[*].id && '2' in @.exampleRoot.exampleArray[*].id)]

You can find more examples of advanced matchers in the Traffic Parrot documentation

Wednesday, 7 December 2022

Traffic Parrot 5.35.6 released, what's new?

We have just released version 5.35.6. Here is a list of the changes that came with the release:

Fixes

  • Library upgrades to fix OWASP issues

Changes

  • HTTP mapping ZIP export now includes data directory