Commit graph

515 commits

Author SHA1 Message Date
Carlos Quintana
a44acf1846
Add support for allowed redirect domains 2022-02-16 09:38:55 +01:00
Carlos Quintana
2f9489fe39
Only allow relative redirects 2022-02-15 15:16:31 +01:00
george
c415324932
Add flake8-bugbear 2022-02-06 20:37:43 +00:00
george
116fc7114a
Update test_can_be_used_as_personal_email to only skip if using GitHub Actions. 2022-02-06 14:37:46 +00:00
george
936d90a5f5
Fix deprecation warnings. 2022-02-04 13:49:38 +00:00
george
e6276dc32e
Fix typo. 2022-02-03 21:44:27 +00:00
george
172e509f53
Add comment. 2022-02-03 21:43:40 +00:00
george
3837a9955e
Just get the API key by user ID. 2022-02-03 19:49:29 +00:00
george
836e599517
Use POST requests to create and delete through the dashboard. 2022-02-03 19:47:41 +00:00
george
010c343641
Refactor to the dashboard folder. 2022-02-03 19:33:40 +00:00
george
709ccb176a
Test the dashboard POST request instead of directly testing the API. 2022-02-03 19:30:10 +00:00
george
c0712a6b95
Login using the test utils method. 2022-02-03 19:20:39 +00:00
george
17353c306c
Reduce session commits. 2022-02-03 15:28:56 +00:00
george
8f8a8b875b
Add multiple API keys for test user 1. 2022-02-03 15:05:46 +00:00
george
1f04dfad61
Add unit tests for API keys. 2022-02-03 15:02:32 +00:00
Son
4d1c4cfdff support pinned parameter in /api/v2/aliases 2022-02-03 11:16:49 +01:00
Son
70cb0609d8 refactor 2022-02-03 11:16:49 +01:00
Son
5a712f3877 make sure subdomain can only contain lowercase letters, numbers and dashes. 2022-01-26 14:53:27 +01:00
Son
5b7949f346 return title in /api/notifications 2022-01-24 15:20:59 +01:00
Son
0806f9243e return custom domain json in patch 2022-01-16 17:26:11 +01:00
Son
9ff323c746 make sure to set custom_domain_id when creating a new alias 2022-01-06 15:29:37 +01:00
Son
ffc621596a fix is_automatic_out_of_office: only use "Auto-Submitted" header 2022-01-05 15:21:54 +01:00
Son
5e2ea81a6c do not consider out-of-office as bounce 2022-01-04 18:06:08 +01:00
Son
4d8c89105f GET /api/phone/reservations/:reservation_id 2022-01-04 16:22:41 +01:00
Son
325207d6ba Use InvalidMailboxDomain instead of DISPOSABLE_EMAIL_DOMAINS 2022-01-03 10:33:21 +01:00
Son
80b0af91e5 allow user to create alias with domain that has ownership verified (and might not have MX verified) 2021-12-29 10:24:22 +01:00
Son
a270c72d60 add random_alias_suffix to settings api 2021-12-28 15:24:58 +01:00
Son
fc42db43ca add new sender formats: NAME_ONLY, AT_ONLY, NO_NAME 2021-12-28 10:49:37 +01:00
Son
5e7730c35c refactor: move regex_match() to its own file 2021-12-14 15:00:32 +01:00
Son
f3e8fc10a9 use re instead of re2 if error "Argument 'pattern' has incorrect type (expected bytes, got PythonRePattern)" 2021-12-11 19:38:22 +01:00
Son
226ce9333c return error if invalid alias address 2021-12-02 16:17:41 +01:00
Son
f049da8c9a Compare mx domains with priority order and not priority value 2021-11-23 14:31:53 +01:00
Son
adb376525f flake8 2021-11-18 10:33:38 +01:00
Son
38ecb227b0 reduce subdomain/directory quota when user create/delete subdomain/directory 2021-11-18 10:33:15 +01:00
Son
a8c86785d1 make sure a deleted subdomain can't be recreated 2021-11-17 17:21:13 +01:00
Son
417f7b92b0 make sure a deleted directory can't be recreated 2021-11-17 17:02:31 +01:00
Son
abc074ea9b make sure password can't be longer than 100 chars 2021-11-16 19:41:05 +01:00
Son
6012b6ff54 rename file 2021-11-16 19:39:51 +01:00
Son
416eafaeb9 use the first alias suffix when creating a new random alias 2021-11-12 11:04:00 +01:00
Son
bb5259ac3f fix test 2021-11-12 10:00:01 +01:00
Son
611fb8a20c take into account user.include_website_in_one_click_alias in /api/alias/random/new 2021-11-12 09:45:31 +01:00
Son
4c87e4ce68 improve test 2021-11-08 12:57:03 +01:00
Son
31e39314d5 return "block_forward" for /api/aliases/{alias.id}/contacts 2021-11-02 15:55:16 +01:00
Son
caa8656748 create /dashboard/block_contact/:contact_id 2021-11-02 15:30:18 +01:00
Son
fd7d9969f8 create a test for unsubscribe 2021-11-02 15:20:33 +01:00
Son
ebe727dc53 skip test_can_be_used_as_personal_email 2021-10-28 19:00:41 +02:00
Son
bc4805b1fa Add POST /api/contacts/:contact_id/toggle 2021-10-28 10:14:20 +02:00
Son
8680c0a739 do do not use the ra+ prefix for reverse alias 2021-10-25 14:33:42 +02:00
Son
ad24f19cd6 rename words.txt to test_words.txt 2021-10-23 17:29:37 +02:00
Son
4a90c79753 make sure mailbox_ids is a list in /api/v3/alias/custom/new 2021-10-23 15:55:39 +02:00
Son
ecdce2307f make sure input of /api/v3/alias/custom/new is a dict 2021-10-23 15:52:17 +02:00
Son
be7ae3021a rename is_reply_email -> is_reverse_alias, make sure reverse-alias must end with EMAIL_DOMAIN 2021-10-19 12:14:16 +02:00
Son
462164ff16 use tldextract to extract hostname 2021-10-18 11:45:48 +02:00
Son
283a6a530d handle case address.parse can also parse an URL and return UrlAddress 2021-10-17 12:52:59 +02:00
Son
57bfa7e933 make sure that a domain already used in a verified mailbox can't be added 2021-10-15 10:32:20 +02:00
Son
3bdeda3e04 add get_mailbox_bounce_info() 2021-10-14 15:10:16 +02:00
Son
b9d26d46f6 fix test 2021-10-12 15:11:25 +02:00
Son
eb0e327402 remove "with app.app_context():" 2021-10-12 14:47:01 +02:00
Son
372466ab06 do not use flask-sqlalchemy
- add __tablename__ for all models
- use sa and orm instead of db
- rollback all changes in tests
- remove session in @app.teardown_appcontext
2021-10-12 14:36:47 +02:00
Son
ba6ed3cba7 black 2021-10-03 19:44:39 +02:00
Son
d622d95c35 fix test 2 2021-10-03 19:36:30 +02:00
Son
931e924f8c fix test 2021-10-03 19:34:51 +02:00
Son Nguyen Kim
0aa3dff38b handle case pg_trgm can't be dropped when running test 2021-09-20 12:28:12 +02:00
Son Nguyen Kim
153831ed1a remove obsolete sender formats 2021-09-20 12:27:36 +02:00
Son Nguyen Kim
8b676bc4af not disable alias if ALIAS_AUTOMATIC_DISABLE is not set 2021-09-17 18:05:35 +02:00
Son Nguyen Kim
41478a5715 replace parseaddr_unicode by parse_full_address 2021-09-10 17:26:14 +02:00
Son Nguyen Kim
638e8137ec fix test 2021-09-10 17:10:05 +02:00
Son Nguyen Kim
defd7b159d Fix get_header_unicode: handle the case header contains several parts 2021-09-09 11:47:01 +02:00
Son Nguyen Kim
51578ce934 add filter by mailbox 2021-08-20 12:21:27 +02:00
Son Nguyen Kim
00b3d716b7 load pg_trgm when running test 2021-08-20 12:20:38 +02:00
Son
d9c682a23e remove sqlite everywhere, only use postgres. Do not use 5432 port to avoid conflict 2021-08-15 17:41:16 +02:00
Son
1384ccc459 remove RESET_DB config 2021-08-15 17:32:33 +02:00
Son Nguyen Kim
a13953e13f add postgres to github action 2021-08-06 08:54:24 +02:00
Son Nguyen Kim
07c912fd35 use postgres database in test instead of sqlite 2021-08-06 08:50:10 +02:00
Son Nguyen Kim
348c2271c6 fix test 2021-08-06 08:46:34 +02:00
Son Nguyen Kim
264bab965a fix test 2021-08-05 19:49:36 +02:00
Son Nguyen Kim
012c6fc3fb replace get(1) by first() 2021-08-05 19:44:56 +02:00
Son Nguyen Kim
fb29503b81 do not send bounce to IgnoreBounceSender 2021-08-02 11:33:58 +02:00
Son Nguyen Kim
d181cd49dd Sign the whole Alias Suffix Info instead of just the suffix 2021-07-19 20:14:59 +02:00
Son Nguyen Kim
e26287a4c7 Revert "disable should_disable() for now"
This reverts commit fb88654d84.
2021-07-14 12:23:02 +02:00
Son Nguyen Kim
fb88654d84 disable should_disable() for now 2021-07-13 17:24:28 +02:00
Son Nguyen Kim
183449e38b fix test 2021-07-11 15:00:47 +02:00
Son Nguyen Kim
1e4746dfe5 fix test 2021-07-11 15:00:22 +02:00
Son Nguyen Kim
f97b18e60a fill up EmailLog.alias_id when creating new EmailLog 2021-07-11 12:28:42 +02:00
Son NK
6532e0de93 Return 550 instead of 421 when rate limited. Rename greylisting to rate limit 2021-06-24 09:47:01 +02:00
Son NK
b84eb13ab5 Discard ignored email
Create IgnoredEmail model
2021-06-22 17:52:24 +02:00
Son
6bc093df3f fix test 2021-06-17 23:54:14 +02:00
Son
e14e697207 fix flake8 2021-06-17 23:24:07 +02:00
Son NK
3e1f098c79 fix test 2021-06-05 17:48:41 +02:00
Son NK
79d0ef8906 Use Postfix queue-id as log message-id 2021-06-04 17:15:59 +02:00
Son NK
62683a221a black 2021-06-02 18:48:35 +02:00
Son Nguyen Kim
b14d79c8f7
Merge pull request #496 from nbraud/pw_hash/refactor
Fix minor issues with password-handling, refactor
2021-06-02 18:33:56 +02:00
Son NK
eb2adc870a make sure only premium user can create new mailbox via API 2021-06-02 17:17:28 +02:00
nicoo
d216812f14 tests/api/auth: Use a pw showing Unicode issues 2021-05-27 22:16:07 +02:00
nicoo
f5f4d46aa4 tests/api/test_auth_login: Refactor
Have a single “login success” test, for both MFA and no-MFA cases.
No functional change to the test.
2021-05-26 19:05:26 +02:00
Son NK
73555ad524 generate mail_from during reply phase using BOUNCE_PREFIX_FOR_REPLY_PHASE 2021-05-25 17:59:40 +02:00
Son NK
ade07f9449 return empty name when name can't be decoded 2021-05-22 16:47:44 +02:00
Son NK
0039b4c301 disable an alias if the user has too many bounces recently 2021-04-16 17:57:25 +02:00
Son NK
f8540808bc remove Client.published 2021-04-06 19:46:21 +02:00
Son NK
7c1af6a265 improve should_disable(): take into account repetitive bounces 2021-04-06 17:24:06 +02:00
Son NK
be5cdc59ba fix test 2021-04-06 15:19:28 +02:00
Son NK
17cb4462e3 fix test 2021-04-01 18:17:27 +02:00
Son NK
d5de99afe9 Restore /alias/custom/new as currently used by safari 2021-03-31 14:41:32 +02:00
Son NK
1cac625a90 restore /v2/alias/custom/new as used by browser extension 2021-03-25 19:18:50 +01:00
Son NK
92acf352b6 add limiter for random alias creation 2021-03-24 17:30:05 +01:00
Son NK
71389b7e09 add limiter on custom alias page 2021-03-24 16:52:05 +01:00
Son NK
e46e3b1c01 fix test 2021-03-24 16:51:23 +01:00
Son NK
acc285abf0 remove /alias/custom/new, /v2/alias/custom/new, refactor test 2021-03-24 16:39:49 +01:00
Son NK
0c62ac4b1f set rate limit for creating alias endpoint 2021-03-24 16:26:42 +01:00
Son NK
6435d951e1 refactor test 2021-03-24 16:11:22 +01:00
Son NK
10cc61b4a0 refactor test 2021-03-24 15:54:03 +01:00
Son NK
c87fe55898 POST /api/aliases/:alias_id/contacts: return 200 and existed=true if contact is already added. 2021-03-17 20:29:34 +01:00
Son Nguyen Kim
ca4d097f14
Merge pull request #381 from TheLastProject/feature/importExportTests
Feature/import export tests
2021-03-15 15:17:58 +01:00
Sylvia van Os
e02d95216f Remove unused imports and var assignments 2021-03-13 15:46:12 +01:00
Sylvia van Os
cfe889f7b9 Format with black 2021-03-13 15:37:28 +01:00
Sylvia van Os
8800c29526 Complete import tests 2021-03-13 15:36:25 +01:00
Sylvia van Os
dcfd63eb0f Working import tests 2021-03-13 00:13:33 +01:00
Sylvia van Os
44ae20816a WIP: Import test 2021-03-10 23:08:33 +01:00
Son
cf6442cec2 Add PATCH /api/custom_domains/:custom_domain_id 2021-03-10 22:56:12 +01:00
Son
eb22a6302e rename creation -> deletion for GET /api/custom_domains/:custom_domain_id/trash 2021-03-10 22:39:33 +01:00
Son
6c2daf1bb6 add mailboxes to GET /api/custom_domains 2021-03-10 22:37:26 +01:00
Sylvia van Os
c6646d5971 Add export test 2021-03-10 22:35:04 +01:00
Son NK
819738f55c remove unused DKIM_PUBLIC_KEY_PATH, DKIM_DNS_VALUE 2021-03-08 15:14:37 +01:00
Son NK
157b7adbda improve logging 2021-03-08 12:11:47 +01:00
Son NK
39c92110cb add more fields into /api/custom_domains 2021-03-06 20:43:50 +01:00
Son
80d80657d6 remove cloudwatch params 2021-03-06 16:09:27 +01:00
Son NK
3af98026e3 refactor config: do not use eval() 2021-03-05 17:26:47 +01:00
Son NK
a536a34a0b remove unused import 2021-03-01 18:46:15 +01:00
Son NK
38790fdc84 get_alias_infos_with_pagination_v3: handle the case where an alias has 2 contacts that have no activity 2021-03-01 18:45:15 +01:00
Son NK
9030d8b543 flake8 2021-02-17 13:01:28 +01:00
Son NK
9e486fc2c0 add alias transfer 2021-02-17 12:56:28 +01:00
Son NK
01aa733fe8 fix test 2021-01-26 20:06:39 +01:00
Son NK
4a91db8e11 rename parse_email_log_id_from_bounce -> parse_id_from_bounce 2021-01-26 09:59:22 +01:00
Son NK
013a94d1e9 fix user delete profile pic 2021-01-19 10:47:48 +01:00
Son NK
da53b7fa00 Improve should_disable() to take into account last 7 days bounces 2021-01-19 10:45:39 +01:00
Son NK
c83b146f14 Add BOUNCE_PREFIX, BOUNCE_SUFFIX config 2021-01-11 14:51:29 +01:00
Son NK
2b4dc3cdcc when a custom domain is default and has random_prefix_generation enabled, use the random_prefix as the first choice 2021-01-02 18:17:53 +01:00
Son NK
c252665e46 flake8 2020-12-31 14:40:43 +01:00
Son NK
33dd6083c7 rename available_suffixes_more_info -> get_available_suffixes 2020-12-31 14:27:04 +01:00
Son NK
5a3b79b4cf replace available_suffixes by available_suffixes_more_info 2020-12-31 14:25:44 +01:00
Son NK
75d1b090cd rename default_random_alias_public_domain_id -> default_alias_public_domain_id 2020-12-31 14:14:56 +01:00
Son NK
b9d8f11f2d put the default domain to top 2020-12-31 13:59:03 +01:00
Son NK
b3d1085e0c fix test 2020-12-18 16:52:03 +01:00
Son NK
10f15f78c8 optimize import 2020-12-18 16:25:30 +01:00
Son NK
8111beb6ff refactoring test 2020-12-18 16:24:38 +01:00
Son NK
091ff3ad2c Add decode_text() 2020-12-18 10:43:06 +01:00
Son NK
3a8cdce650 Create should_disable 2020-12-16 18:50:09 +01:00
Son NK
6eaeb1fcf6 update coinbase webhook 2020-12-14 11:36:34 +01:00
Son NK
7094a0b694 remove unused var 2020-12-13 19:31:16 +01:00
Son NK
43a021dd88 send a reminder when a coinbase subscription is ending soon 2020-12-13 19:18:58 +01:00