A Mailpit API Client
Project description
API-client for https://github.com/axllent/mailpit written in Python
- Authors:
Lars Liedtke <corvan@gmx.de>
- Version:
0.12.1
Go to the documentation
Motivation
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.
Install
If you want to use the library with unittest:
pip install mailpit-api-client
If you want to use the library with pytest:
pip install mailpit-api-client[pytest]
Usage
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.
Client
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 there are test-helpers inside the mailpit.testing package.
unittest
In order to provide some convenience a test-case class has been created with the name EMailTestCase deriving from unittest.TestCase, which is meant to be inherited from, as you would do from TestCase:
from mailpit.testing.unittest import EMailTestCase
class MyTest(EMailTestCase):
def test_sending_email():
...
The class adds a few methods and attributes, so that you are able to assert, if your message has been sent, or if two messages are equal.
pytest
tbd
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mailpit-api-client-0.12.1.tar.gz
.
File metadata
- Download URL: mailpit-api-client-0.12.1.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | db5074242b8423d99635364ce2ab78c149edd93714ed085c0d452a19e932d701 |
|
MD5 | f892c0a566b8e9c43d11713440e1339f |
|
BLAKE2b-256 | 6428631b895c6dd5657f8f28cee11fe114c815e7062bdf059036a3de4ba97e15 |
File details
Details for the file mailpit_api_client-0.12.1-py3-none-any.whl
.
File metadata
- Download URL: mailpit_api_client-0.12.1-py3-none-any.whl
- Upload date:
- Size: 15.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f68ea3373520484df6f47498e5275c55d76742a0ea0b48d83c8382b96e3a699 |
|
MD5 | 04925dad3a514e1770da05250c712d46 |
|
BLAKE2b-256 | e7dfcb5a4a8859e5f8ea3f29cfca73643a91beb0940edb5de06bba7e293d658c |