novuhq / novu

Open-Source Notification Platform. Embeddable Notification Center, E-mail, Push and Slack Integrations.
https://novu.co
Other
34.46k stars 3.51k forks source link

[NV-1044] Test SMS77 connection when creating/updating integration #4817

Closed BiswaViraj closed 10 months ago

BiswaViraj commented 10 months ago

Why?

Currently, when the user connects a provider from the Integration store, there's no option to Test the provider connection before saving/updating it for wrong/bad credentials or other possible issues.

Without the Test functionality, the provider connection is saved with the possible wrong credentials and the issue is discovered at a much later stage.

We want to have a Test functionality during the connection stage to let users catch the errors as early as possible.

How?

We will need to create a new method i.e,checkIntegration for the SMS77 provider.

Path to the file : providers/sms77/src/lib/sms77.provider.ts

Look into the SMS77 docs and if they provide a dedicated endpoint or method to test the connection, then implement the same inside the checkIntegration method.

If there's no dedicated endpoint/method provided by SMS77, then re-use the send functionality of the provider to check and ensure proper integration, and return the errors if any.

P.S: We have integrated the same for the sendgrid provider, you may use it as a reference or follow this pr for more details.

From SyncLinear.com | NV-1044

github-actions[bot] commented 10 months ago

Hi, I'm Jarvis 🤖%0A%0AI'm a bot built to help you with your contribution to Novu. %0AI will add instructions and guides on how to run the subset of the Novu platform associated to this issue and make your first contribution.%0A%0AThis issue was tagged as related to @novu/api and the related code is located at the apps/api folder, here is how I can help you:%0A%0A

%0A First time contributing to Novu?%0A%0A If that's the first time you want to contribute to Novu here are a few simple steps to get you started:%0A 1. Fork the repository and clone your fork to your local machine.%0A 2. Install the dependencies using npm run setup:project.%0A 3. Create a new branch with the number of the issue, for example: 1454-fix-something-cool and start contributing based on the Contributing Guide or the short guide in the section below.%0A 4. Create a Pull request and follow the template of creation %0A
%0A%0A
%0A Run and test @novu/api locally%0A%0A ### Run API in watch mode%0A The easiest way to start the API is to run npm run start:api from the root of the repository%0A%0A ### Run API integration tests%0A To validate your changes or simply to run the e2e tests run npm run start:e2e:api. All the e2e tests have the .e2e.ts suffix and usually are located near the controller files of each module.%0A