API-client for https://github.com/axllent/mailpit written in Python
| Authors: | Lars Liedtke <corvan@gmx.de> |
|---|---|
| Version: | 0.10.2 |
For work, I thought about introducing integration testing. We are working with Odoo and I wanted to test if e-mails created by Odoo really were sent. I remembered mailhog, which I discovered to be abandoned. Searching for an alternative, I found Mailpit - for which I decided to write an API-client in my free time.
this library - as is Mailpit - is mostly meant for testing. Giving the url of Mailpit to a tool to send e-mail messages to and then use this client to check on the API if the mail was sent.
The client itself consists of the class API in mailpit/client/api.py, that offers methods, which query the API-Endpoints and are named respectively.
To use this class, simply try something like this.
You have to have Mailpit running on localhost for this [1] .
import mailpit.client.api
api = mailpit.client.api.API("localhost:8025")
messages = api.get_messages()Additionally, there are some model-classes that wrap the API's responses. For example with
messages = api.get_messages()messages will be an instance of mailpit.client.models.Messages , which you can find in link:mailpit/client/models/messages.py[mailpit/client/models.py]. +
The model-classes' attributes are named the same as Mailpit's responses, as documented in the API's README.md, but as is convention in Python in Snakecase.
For examples have a look at the link:tests[tests]
== Testing
To make testing easier I plan to provide testhelpers like TestCase-classes of unittest and pytest-fixtures.
=== unittest tbd
=== pytest tbd
| [1] | If you have it running differently, you have to adjust the URL you pass. |