# Assert shape

## Introduction

You can use the **assert** shape is typically used for testing purposes -you can define a static payload which is used to validate that the current payload (i.e. the payload generated up to the point that the **assert** shape is encountered) is as expected.

{% hint style="info" %}
A single incoming payload for [any process flow shape](https://open.gitbook.com/~site/site_dIV1g/~/revisions/9dTvdvRJIRVZQXuBMMnJ/process-flows/building-process-flows/process-flow-shapes) should not exceed 500MB.

We recommend processing multiple, smaller payloads rather than one single payload (1000 x 0.5MB payloads are more efficient than 1 x 500MB payload!).

For payloads up to 500MB, consider adding a[ flow control shape](https://open.gitbook.com/~site/site_dIV1g/~/revisions/9dTvdvRJIRVZQXuBMMnJ/process-flows/building-process-flows/process-flow-shapes/standard-shapes/flow-control-shape) to batch data into multiple, smaller payloads. Payloads exceeding 500MB should be batched at source.
{% endhint %}

## Accessing assert payload shape settings

To view/update the settings for an existing **assert** shape, click the associated 'cog' icon:

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FxyJQg54AbpECSxEcGQS9%2Fassert%20shape%201.png?alt=media&#x26;token=a51312c6-d8a5-49dc-bf1c-87104a3953a2" alt="" width="327"><figcaption></figcaption></figure></div>

This opens the [options panel](#configuring-settings-for-a-new-manual-payload-shape) - for example: &#x20;

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FodpHt7FTYjn9G3wOYoEH%2Fassert%20shape%201a.png?alt=media&#x26;token=eed01498-6530-4439-9e10-8d2aab790cc4" alt="" width="375"><figcaption></figcaption></figure></div>

## Configuring settings for a new assert shape

<details>

<summary><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FpLMO12yvTCxi9PorCt53%2Ficons8-film.svg?alt=media&#x26;token=e59864bc-2d97-4f98-966c-a083c18e60db" alt="" data-size="line"> Show me</summary>

![](https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FpwdcXYtaGGXxSUtMnTWK%2Fdemo%20assert%20shape.gif?alt=media\&token=58095b3a-9807-45fb-87fc-4a9afe09f581)

</details>

To configure an **assert** shape, all you need to do is paste the required payload and save the shape for example:

<div align="left"><figure><img src="https://2440044887-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLYNcUBVQwSkOMG6KjZfz%2Fuploads%2FGng1dxbSmFxPeu7l18El%2Fassert%20shape%202.png?alt=media&#x26;token=247ca2c7-edba-4fce-9252-22924f67723d" alt="" width="375"><figcaption></figcaption></figure></div>

{% hint style="info" %}
An **assert** shape can only be saved if a payload is present. If you add an **assert payload** shape  but don't have the required payload immediately to hand, you can just enter `{}`and save.&#x20;
{% endhint %}
