mailinator-client
Version:
Mailinator REST API client for JavaScript applications.
65 lines (46 loc) • 2.96 kB
Markdown
#### [Mailinator](https://www.mailinator.com/) REST API client for JavaScript applications.
Uses [Microsoft's typed-rest-client](https://github.com/microsoft/typed-rest-client). All requests are async functions.
#### Usage example
##### Create MailinatorClient
```typescript
const mailinatorClient: MailinatorClient = new MailinatorClient("yourApiKeyHere");
```
###### Get inbox from domain
```typescript
const response: IRestResponse<Inbox> = await mailinatorClient.request(
new GetInboxRequest("yourDomainNameHere")
);
```
###### Get paginated messages from domain and inbox
```typescript
const response: IRestResponse<Inbox> = await mailinatorClient.request(
new GetInboxRequest("yourDomainNameHere", "yourInboxNameHere", 10, 20, Sort.DESC, true)
);
```
###### Get message
```typescript
const response: IRestResponse<Message> = await mailinatorClient.request(
new GetMessageRequest("yourDomainNameHere", "yourInboxNameHere", "yourMessageIdHere")
);
```
#### Build tests
* `npm test`
By default, most of the tests are skipped.
##### Build with tests
Most of the tests require env variables with valid values. Visit tests source code and review `EnabledIfEnvironmentVariable` wrapped parts. The more env variables you set, the more tests are run.
* `MAILINATOR_TEST_API_TOKEN` - API tokens for authentication; basic requirement across many tests;see also https://manybrain.github.io/m8rdocs/#api-authentication
* `MAILINATOR_TEST_DOMAIN_PRIVATE` - private domain; visit https://www.mailinator.com/
* `MAILINATOR_TEST_INBOX` - some already existing inbox within the private domain
* `MAILINATOR_TEST_PHONE_NUMBER` - associated phone number within the private domain; see also https://manybrain.github.io/m8rdocs/#fetch-an-sms-messages
* `MAILINATOR_TEST_MESSAGE_WITH_ATTACHMENT_ID` - existing message id within inbox (see above) within private domain (see above); see also https://manybrain.github.io/m8rdocs/#fetch-message
* `MAILINATOR_TEST_ATTACHMENT_ID` - existing message id within inbox (see above) within private domain (see above); see also https://manybrain.github.io/m8rdocs/#fetch-message
* `MAILINATOR_TEST_DELETE_DOMAIN` - don't use it unless you are 100% sure what you are doing
* `MAILINATOR_TEST_WEBHOOKTOKEN_PRIVATEDOMAIN` - private domain for webhook token
* `MAILINATOR_TEST_WEBHOOKTOKEN_CUSTOMSERVICE` - custom service for webhook token
* `MAILINATOR_TEST_AUTH_SECRET` - authenticator secret
* `MAILINATOR_TEST_AUTH_ID` - authenticator id
* `MAILINATOR_TEST_WEBHOOK_INBOX` - inbox for webhook
* `MAILINATOR_TEST_WEBHOOK_CUSTOMSERVICE` - custom service for webhook
#### Create index
* Install https://www.npmjs.com/package/create-ts-index `npm install create-ts-index -g`
* Run `cti create .`