> For the complete documentation index, see [llms.txt](https://codemash.gitbook.io/codemash/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://codemash.gitbook.io/codemash/cloud/push/integrations/test.md).

# Test an integration

Test a push integration — Norbix builds the provider client and sends one test notification through it.

**Where:** Push → Integrations → an integration → **Test integration** · `/projects/<project>/push/integrations/<integrationId>/edit`

## Before you start

* The integration is saved — see [Providers](/codemash/cloud/push/integrations/providers.md). A new integration must be saved before it can be tested.
* You need the `push:execute` permission (the **Developer** role has it).
* The [Fake Push (Test Me)](/codemash/cloud/push/integrations/providers/fake.md) has no test panel: it is born **TESTED** and **CONFIRMED**.

## Steps

1. Open **Push → Integrations** and press the integration, here `Acme Android app (FCM)`.
2. At the bottom of the page, the test panel shows **Test Push Recipient** (*Select user(s) to receive the test push. They must have a registered push device.*) with a **Recipient** picker of team members who have a device; you are picked first.

   <figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-0e23732c6abdbd573c40dd462390bff22fd1e121%2Ftest-1.png?alt=media" alt="The Firebase Cloud Messaging integration page: the fields, Cancel and Save, and the test panel with Test Push Recipient, the Recipient picker and the Test integration button"><figcaption><p>The test panel.</p></figcaption></figure>
3. Press **Test integration**.

{% hint style="warning" %}
Cloud does not send the picked **Recipient**: the test always goes to a placeholder Android token, so a real provider can only answer with an error for that token. To test with a real device, use the SDK or the CLI below with `testToken` and `deliveryFamily`.
{% endhint %}

## Result

The panel shows **Test passed** or **Test failed**, the time of the run, and one line per check (**SendPush**). The badge becomes **TESTED** or **TEST FAILED**.

<figure><img src="https://712692422-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FHy372bqsaex2cqS3ikhL%2Fuploads%2Fgit-blob-1bd2b702c0e0d589ec7aac172db715be0bc59876%2Ftest-2.png?alt=media" alt="TEST FAILED badge and the panel Test failed, Last run 10/6/2026, SendPush Failed: Could not send push via Firebase from Acme Android app (FCM). Received status: 500. Message: Some settings are not defined (Parameter &#x27;settings&#x27;)"><figcaption><p>A failed test of the Firebase integration.</p></figcaption></figure>

When a test push arrives, press **I received it** in the **Confirm you received the message** box: the badge turns **CONFIRMED**. A new test or a save of the form clears the confirmation.

What the providers answered on our test stack (made-up keys, no real device): Fake — *OK*; APNs — *The input is not a valid Base-64 string …*; Firebase — *Some settings are not defined (Parameter 'settings')*; Safari — *A temporary internal error occurred*; Chrome, Firefox and Edge web push — *Push integration '…' is not supported*. See each [provider page](/codemash/cloud/push/integrations/providers.md).

## Change or remove it later

* Fix the fields, type the secret again, press **Save**, and test again.
* [Set it as default](/codemash/cloud/push/integrations/set-default.md) once it passes, or [disable or delete it](/codemash/cloud/push/integrations/disable.md).

## Do it from code

```ts
const result = await norbix.hub.notifications.testPushIntegration({
  integrationId: 'int_5w5gi8BSgF9H7E76Ud6K7F', // Test Me (Fake)
  // testToken: '<a real device token>', deliveryFamily: 'ios',  // optional, both or none
});
console.log(result.items); // [ { operation: 'SendPush', result: 'OK' } ]
```

```sh
norbix hub notifications push integration test --integrationId int_5w5gi8BSgF9H7E76Ud6K7F
```

The client setup is on the [Push page](/codemash/cloud/push.md#use-it-from-code). API: [Test Push Integration](/codemash/api-reference/notifications/push/test-push-integration.md) · [Confirm Push Integration Human Delivery](/codemash/api-reference/notifications/push/confirm-push-integration-human-delivery.md)
