0.1.1513898268 • Published 6 years ago

emaile2e-client v0.1.1513898268

Weekly downloads
1
License
Unlicense
Repository
github
Last release
6 years ago

emaile2e-client

Email-e2e is and end-to-end email testing service. It has a web-app for managing your account and a REST API for sending and receiving emails from randomized email addresses.

Why?

Email-e2e was built to test the integration of email services within an app. If your application relies on the sending or receiving of emails, then Email-e2e will let you test that functionality. This is a more common need than you might think: if your app has a sign up process that requires email verification, how do you currently test that?

Getting started

Every API request requires a valid API Key appended as a query parameter. To obtain an API Key visit your account dashboard.

The general flow is as follows:

  • Create a new inbox during a test. The email address will be returned in the response.
  • Send an email to that address or trigger an action in your test that does so.
  • Fetch the email for your new inbox and check if its content is what you expected, or use the content in another action.

SDK

Legal

The Emaile2e API code is owned by PettmanUG and uses a proprietary software licence. The SDKs are free to use in any project and have an ISC licence.

Bugs, features, support

To report bugs or request features please see the contact page. For help see support.

Installation

For Node.js

npm

To publish the library as a npm, please follow the procedure in "Publishing npm packages".

Then install it via:

npm install emaile2e-client --save
Local development

To use the library locally without publishing to a remote npm registry, first install the dependencies by changing into the directory containing package.json (and this README). Let's call this JAVASCRIPT_CLIENT_DIR. Then run:

npm install

Next, link it globally in npm with the following, also from JAVASCRIPT_CLIENT_DIR:

npm link

Finally, switch to the directory you want to use your emaile2e-client from, and run:

npm link /path/to/<JAVASCRIPT_CLIENT_DIR>

You should now be able to require('emaile2e-client') in javascript files from the directory you ran the last command above from.

git

If the library is hosted at a git repository, e.g. https://github.com/GIT_USER_ID/GIT_REPO_ID then install it via:

    npm install GIT_USER_ID/GIT_REPO_ID --save

For browser

The library also works in the browser environment via npm and browserify. After following the above steps with Node.js and installing browserify with npm install -g browserify, perform the following (assuming main.js is your entry file, that's to say your javascript file where you actually use this library):

browserify main.js > bundle.js

Then include bundle.js in the HTML pages.

Webpack Configuration

Using Webpack you may encounter the following error: "Module not found: Error: Cannot resolve module", most certainly you should disable AMD loader. Add/merge the following section to your webpack config:

module: {
  rules: [
    {
      parser: {
        amd: false
      }
    }
  ]
}

Getting Started

Please follow the installation instruction and execute the following JS code:

var Emaile2eClient = require('emaile2e-client');

var api = new Emaile2eClient.InboxcontrollerApi()

var apiKey = "test"; // {String} Your API Key. Sign up and find it in your dashboard.

api.createRandomInboxUsingPOST(apiKey).then(function(data) {
  console.log('API called successfully. Returned data: ' + data);
}, function(error) {
  console.error(error);
});

Documentation for API Endpoints

All URIs are relative to https://api.emaile2e.com

ClassMethodHTTP requestDescription
Emaile2eClient.InboxcontrollerApicreateRandomInboxUsingPOSTPOST /inboxesCreate an inbox
Emaile2eClient.InboxcontrollerApideleteInboxUsingDELETEDELETE /inboxes/{uuid}Delete an inbox
Emaile2eClient.InboxcontrollerApigetEmailsForInboxUsingGETGET /inboxes/{uuid}Fetch emails for a given inbox
Emaile2eClient.InboxcontrollerApigetListOfInboxesUsingGETGET /inboxesList your inboxes
Emaile2eClient.InboxcontrollerApisendEmailFromUserUsingPOSTPOST /inboxes/{uuid}Send an email
Emaile2eClient.UsercontrollerApigetUserUsingGETGET /userFetch a user

Documentation for Models

Documentation for Authorization

All endpoints do not require authorization.