From dad09e780e20ba4261fb85e8b4eabaef78396e72 Mon Sep 17 00:00:00 2001 From: TwinProduction Date: Sat, 29 Aug 2020 13:23:03 -0400 Subject: [PATCH] Add features section and cute image --- .github/assets/example.png | Bin 0 -> 25458 bytes README.md | 42 ++++++++++++++++++++++++------------- 2 files changed, 28 insertions(+), 14 deletions(-) create mode 100644 .github/assets/example.png diff --git a/.github/assets/example.png b/.github/assets/example.png new file mode 100644 index 0000000000000000000000000000000000000000..b0e39098484248e6053da83b2687f6f4f11b7420 GIT binary patch literal 25458 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 400` | Status must be greater than 400 | 401, 402, 403, 404 | 200, 201, 300, 400 | -| `[RESPONSE_TIME] < 500` | Response time must be below 500ms | 100ms, 200ms, 300ms | 500ms, 1500ms | -| `[BODY] == 1` | The body must be equal to 1 | 1 | literally anything else | -| `[BODY].data.id == 1` | The jsonpath `$.data.id` is equal to 1 | `{"data":{"id":1}}` | literally anything else | -| `[BODY].data[0].id == 1` | The jsonpath `$.data[0].id` is equal to 1 | `{"data":[{"id":1}]}` | literally anything else | -| `len([BODY].data) > 0` | Array at jsonpath `$.data` has less than 5 elements | `{"data":[{"id":1}]}` | `{"data":[{"id":1}]}` | -| `len([BODY].name) == 8` | String at jsonpath `$.name` has a length of 8 | `{"name":"john.doe"}` | `{"name":"bob"}` | - -**NOTE**: `[BODY]` with JSON path (i.e. `[BODY].id == 1`) is currently in BETA. For the most part, the only thing that doesn't work is arrays. +| Condition | Description | Passing values | Failing values | +| -----------------------------| ------------------------------------------------------- | ------------------------ | -------------- | +| `[STATUS] == 200` | Status must be equal to 200 | 200 | 201, 404, ... | +| `[STATUS] < 300` | Status must lower than 300 | 200, 201, 299 | 301, 302, ... | +| `[STATUS] <= 299` | Status must be less than or equal to 299 | 200, 201, 299 | 301, 302, ... | +| `[STATUS] > 400` | Status must be greater than 400 | 401, 402, 403, 404 | 400, 200, ... | +| `[RESPONSE_TIME] < 500` | Response time must be below 500ms | 100ms, 200ms, 300ms | 500ms, 501ms | +| `[BODY] == 1` | The body must be equal to 1 | 1 | Anything else | +| `[BODY].data.id == 1` | The jsonpath `$.data.id` is equal to 1 | `{"data":{"id":1}}` | | +| `[BODY].data[0].id == 1` | The jsonpath `$.data[0].id` is equal to 1 | `{"data":[{"id":1}]}` | | +| `len([BODY].data) > 0` | Array at jsonpath `$.data` has less than 5 elements | `{"data":[{"id":1}]}` | | +| `len([BODY].name) == 8` | String at jsonpath `$.name` has a length of 8 | `{"name":"john.doe"}` | `{"name":"bob"}` | ## Docker