-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathinboxes.py
More file actions
91 lines (57 loc) · 2.22 KB
/
inboxes.py
File metadata and controls
91 lines (57 loc) · 2.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from typing import Optional
import mailtrap as mt
from mailtrap.models.inboxes import Inbox
API_TOKEN = "YOUR_API_TOKEN"
ACCOUNT_ID = "YOUR_ACCOUNT_ID"
client = mt.MailtrapClient(token=API_TOKEN, account_id=ACCOUNT_ID)
inboxes_api = client.testing_api.inboxes
def list_inboxes() -> list[Inbox]:
return inboxes_api.get_list()
def create_inbox(project_id: int, inbox_name: str) -> Inbox:
return inboxes_api.create(
project_id=project_id, inbox_params=mt.CreateInboxParams(name=inbox_name)
)
def get_inbox_by_id(inbox_id: int) -> Inbox:
return inboxes_api.get_by_id(inbox_id)
def update_inbox(
inbox_id: int,
new_name: Optional[str] = None,
new_email_username: Optional[str] = None,
) -> Inbox:
return inboxes_api.update(
inbox_id, mt.UpdateInboxParams(name=new_name, email_username=new_email_username)
)
def clean_inbox(inbox_id: int) -> Inbox:
return inboxes_api.clean(inbox_id)
def mark_inbox_as_read(inbox_id: int) -> Inbox:
return inboxes_api.mark_as_read(inbox_id)
def reset_inbox_credentials(inbox_id: int) -> Inbox:
return inboxes_api.reset_credentials(inbox_id)
def enable_inbox_email_address(inbox_id: int) -> Inbox:
return inboxes_api.enable_email_address(inbox_id)
def reset_inbox_email_username(inbox_id: int) -> Inbox:
return inboxes_api.reset_email_username(inbox_id)
def delete_inbox(inbox_id: int):
return inboxes_api.delete(inbox_id)
if __name__ == "__main__":
inboxes = list_inboxes()
print(inboxes)
created = create_inbox(project_id=1, inbox_name="example-created-inbox")
print(created)
inbox_id = created.id
inbox = get_inbox_by_id(inbox_id=inbox_id)
print(inbox)
updated = update_inbox(inbox_id=inbox_id, new_name=f"{inbox.name}-updated")
print(updated)
cleaned = clean_inbox(inbox_id=inbox_id)
print(cleaned)
marked = mark_inbox_as_read(inbox_id=inbox_id)
print(marked)
reset_creds = reset_inbox_credentials(inbox_id=inbox_id)
print(reset_creds)
enabled = enable_inbox_email_address(inbox_id=inbox_id)
print(enabled)
reset_username = reset_inbox_email_username(inbox_id=inbox_id)
print(reset_username)
deleted = delete_inbox(inbox_id=inbox_id)
print(deleted)