guerrilla-api
Version:
Guerrilla-api is a node module that wraps the guerrilla api (I have chosen an amazing and creative name, don't you think so?) to smooth the comunication of your app/module with their service.
71 lines (61 loc) • 2.14 kB
Markdown
# guerrilla-api
Guerrilla API module for Node
~~~
npm install guerrilla-api
~~~
## why
Well, I first wrote this module to enable automated tests that depend on e-mail.
For example, I'm design a software where the user can create an account, and it
is expected that this user receive an e-mail to validate his/her account. Since
I use [Guerrilla Mail](guerrillamail.com) a lot and they have a not so bad api,
I have decided to write this module to use it in my automated tests.
## why not
You might ask why haven't I used another pre-existing module. You would receive
a short an easy answer: I haven't find any module with a good documentation and
interface.
### usage
First things first. Guerrilla Mail api expects you to pass an ip address that is
the origin of your requests. Besides that, it also expects you to provide an
[user agent](https://en.wikipedia.org/wiki/User_agent). So there we go:
```js
var Guerrilla = require('guerrilla-api');
var guerrillaApi = new Guerrilla('127.0.0.1', 'automated-test-agent');
```
From that, we are now ready to make our first call to Guerrilla api. Let's see
what e-mail address they give us.
```js
guerrillaApi.getEmailAddress(function(err, address) {
if (err) {
console.log('Holly crap, something went wrong!' + err);
} else {
console.log('As I expected. My new temp e-mail is: ' + address);
}
});
```
Well, maybe you don't like the e-mail address randomly provided by Guerrilla.
So, lets create one of our own.
```js
guerrillaApi.setEmailAddress(desiredUsernameEmail, function (err, address) {
if (err) {
console.log('Weirdooo, something went wrong!' + err);
} else {
console.log('Nice, I have a new e-mail address. Check it out: '
+ address);
}
});
```
Now that we have a nice e-mail address, let's check what do we have in our inbox:
```js
guerrillaApi.checkEmail(function (err, emails) {
if (err) {
console.log('Noooooo, an error? It must be a solar storm. Let\'s see: '
+ err);
} else {
emails.forEach(function(email) {
console.log(email.mail_from +
' sent me an e-mail with the following subject: '
+ mail.mail_subject);
});
}
});
```