Sean Whalen
42ae29eaae
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-10 12:21:07 -04:00
Kili
faa68333a9
Avoid extra mailbox fetch in batch/test mode and add regression test ( #691 )
...
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2026-03-10 11:22:39 -04:00
Kili
d34a33e980
Validate MS Graph certificate auth inputs ( #693 )
...
* Validate MS Graph certificate auth inputs
* Fix MS Graph shared scope detection without username
2026-03-10 11:22:09 -04:00
Kili
9040a38842
Refine MS Graph well-known folder fallback ( #694 )
...
* Refine MS Graph well-known folder fallback
* Make MS Graph retry test doubles method-aware
2026-03-10 11:20:43 -04:00
Kili
ea0e3b11c1
Add MS Graph certificate authentication support ( #692 )
...
* Add MS Graph certificate authentication support
* Preserve MS Graph constructor compatibility
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
2026-03-10 09:30:39 -04:00
Kili
199b782191
Add MS Graph well-known folder fallback for root listing failures ( #689 )
...
* Add MS Graph well-known folder fallback for root listing failures
* Resolve test merge cleanup for MS Graph folder fallback
2026-03-10 09:25:37 -04:00
Kili
56eb565ad2
Accept pathlib.Path in report parsing APIs ( #680 )
...
* Accept pathlib.Path in report parsing APIs
* Polish PathLike typing and test names
2026-03-09 18:08:57 -04:00
copilot-swe-agent[bot]
a12fe811d0
Fix test failures after merge: update mock return dict keys from forensic_reports to failure_reports
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-09 21:59:59 +00:00
Kili
2c3abb3e8c
Retry transient MS Graph request errors ( #679 )
...
* Retry transient MS Graph request errors
* Handle zero MS Graph retry attempts explicitly
2026-03-09 17:56:22 -04:00
Sean Whalen
e77ceb30c7
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:49:02 -04:00
copilot-swe-agent[bot]
fce8e2247b
Fix ruff formatting errors, duplicate import, and test mock key names
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-09 21:40:28 +00:00
Kili
f2febf21d3
Add fail_on_output_error CLI option for sink failures ( #672 )
...
* Add fail-on-output-error option and CLI regression test
* Broaden fail_on_output_error coverage for disabled and multi-sink paths
2026-03-09 17:35:38 -04:00
Kili
79f47121a4
Pass mailbox since filter through watch_inbox callback ( #670 )
...
* Pass mailbox since through watch loop and add regression test
* Add CLI regression test for mailbox since in watch mode
2026-03-09 17:33:42 -04:00
Kili
6e6c90e19b
Add IMAP move/delete compatibility fallbacks ( #671 )
...
* Add IMAP move/delete compatibility fallbacks with tests
* Expand IMAP fallback tests for success and error paths
2026-03-09 17:29:01 -04:00
Kili
c4d7455839
Add OpenSearch AWS SigV4 authentication support ( #673 )
...
* Add OpenSearch AWS SigV4 authentication support
* Increase SigV4 coverage for auth validation and CLI config wiring
* Update parsedmarc/opensearch.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update docs/source/usage.md
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
---------
Co-authored-by: Sean Whalen <44679+seanthegeek@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-09 17:21:22 -04:00
Sean Whalen
b4b90e763d
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:20:20 -04:00
Kili
95e6fb85a1
Fix Gmail delete_message to execute API request ( #668 )
...
* Fix Gmail delete to execute request and add regression test
* Fix duplicate GmailConnection import in tests
2026-03-09 17:11:35 -04:00
Kili
a3c5bb906b
Add Gmail service account auth mode with delegated user support ( #676 )
2026-03-09 17:04:30 -04:00
Sean Whalen
73716fa671
Merge branch 'master' into copilot/support-dmarcbis-reports
2026-03-09 17:02:36 -04:00
Kili
d49ce6a13f
Increase unit test coverage for Gmail/Graph/IMAP connectors ( #664 )
...
* Increase coverage for Gmail, Graph, and IMAP mail connectors
* Make testLoadTokenMissing use guaranteed-missing temp path
* Expand coverage for Gmail token refresh and Graph pagination error paths
2026-03-09 11:54:43 -04:00
copilot-swe-agent[bot]
aea6c101d7
Rename samples/forensic→samples/failure; remove 'DMARC 2.0' references
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-03-04 02:19:35 +00:00
copilot-swe-agent[bot]
01c2e623bb
Improve tests: consolidate imports, use context managers, add subTest, add backward compat and coverage tests
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-21 19:56:33 +00:00
copilot-swe-agent[bot]
68ccb0eb35
Add 89 comprehensive tests covering core parsing and utilities
...
Tests cover:
- _bucket_interval_by_day: all validation branches and distribution logic
- _append_parsed_record: normalize=True/False paths
- _parse_report_record: None source_ip, missing auth results, reason handling,
identities/identifiers mapping, human_result, envelope_from fallback, alignment
- _parse_smtp_tls_failure_details: required/optional fields, missing field errors
- _parse_smtp_tls_report_policy: valid/invalid types, policy_strings, failure details
- parse_smtp_tls_report_json: valid/bytes/missing fields/non-list policies
- Aggregate report: invalid np/testing/discovery_method, pass disposition,
multiple records, XML recovery, schema versions, generator, errors, defaults,
normalization, MAGIC_XML_TAG detection
- utils: timestamp conversions, IP geo lookup, reverse DNS service lookup,
IP address info with cache, email address parsing, filename safe strings,
mbox/outlook msg detection
- Output modules: WebhookClient, KafkaClient static methods, HECClient,
SyslogClient, LogAnalyticsConfig/Client, backward-compatible aliases
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-02-21 19:39:16 +00:00
copilot-swe-agent[bot]
bb4be6e609
Make pct and fo default to None when not provided (DMARCbis reports)
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-21 18:50:37 +00:00
copilot-swe-agent[bot]
195fdaf7b2
Add DMARCbis field validation, preserve pass disposition, add comprehensive tests
...
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-20 21:03:23 +00:00
Copilot
4d97bd25aa
Skip DNS lookups in GitHub Actions to prevent test timeouts ( #657 )
...
* Add offline mode for tests in GitHub Actions to skip DNS lookups
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: seanthegeek <44679+seanthegeek@users.noreply.github.com >
2026-02-18 18:19:28 -05:00
Sean Whalen
7b842740f5
Change file permissions for tests.py to make it executable
2025-12-25 16:02:33 -05:00
Sean Whalen
7d58abc67b
Add shebang and encoding declaration to tests.py
2025-12-04 10:21:53 -05:00
Sean Whalen
cf3b7f2c29
## 9.0.2
...
## Improvements
- Type hinting is now used properly across the entire library. (#445 )
## Fixes
- Decompress report files as needed when passed via the CLI.
- Fixed incomplete removal of the ability for `parsedmarc.utils.extract_report` to accept a file path directly in `8.15.0`.
## Breaking changes
This version of the library requires consumers to pass certain arguments as keyword-only. Internally, the API uses a bare `*` in the function signature. This is standard per [PEP 3102](https://peps.python.org/pep-3102/ ) and as documented in the Python Language Reference.
.
2025-12-02 19:41:14 -05:00
Sean Whalen
17bdc3a134
More tests cleanup
2025-11-21 09:10:59 -05:00
Sean Whalen
597ca64f9f
Clean up tests
2025-11-21 00:09:28 -05:00
Sean Whalen
c5dbe2c4dc
8.10.9
...
- Complete fix for #687 and more robust report type detection
2025-11-20 23:50:42 -05:00
Sean Whalen
1ef3057110
8.15.1
...
- Proper IMAP namespace fix (Closes issue #557 and issue #563 )
- Require `mailsuite>=1.9.17`
- Revert PR #552
- Add pre-flight check for nameservers (PR #562 closes issue #543 )
- Reformat code with `ruff`
2024-10-02 21:19:57 -04:00
Sean Whalen
e967778f25
8.15.0
...
- Fix processing of SMTP-TLS reports ([#549 ](https://github.com/domainaware/parsedmarc/issues/549 )), which broke in commit [410663d ](410663dbca )(PR [#530 ](https://github.com/domainaware/parsedmarc/pull/530 ))
- This PR enforced a stricter check for base64-encoded strings, which SMTP TLS reports from Google did not pass
- Removing the check introduced its own issue, because some file paths were treated as base64-encoded strings
- Create a separate `extract_report_from_file_path()` function for processioning reports based on a file path
- Remove report extraction based on a file path from `extract_report()`
2024-09-04 16:31:41 -04:00
Sean Whalen
e9f0cdef1f
Update tests.py
...
Fix code style
2024-07-16 15:14:40 -04:00
pphillips99
410663dbca
fixup and tests to extract_report() to handle documented inputs ( #530 )
2024-07-16 14:53:27 -04:00
Sean Whalen
6e96b88a27
Always use local files when testing
2024-05-22 08:30:12 -04:00
cgoIT
f3206dcdab
[SMTP TLS] some minor bug fixes ( #477 )
...
* fix minor bugs during smtp-tls parsing, add docker-compose for local elasticsearch, add smtp-tls tests
* fix wrong log message parameter
* fix wrong log message
* add contact-info to smtp tls report, fix wrong fieldnames
* fix wrong fieldnames
* fix wrong index name for search
* at least for some reporting organizations the field sending-mta-ip is optional...
* add missing fields to elasticsearch for smtp tls
* failure_details is a list, add more test cases
* fix wrong name in ci.ini
2024-03-04 10:06:47 -05:00
Sean Whalen
b8088505b1
Add support for SMTP TLS reports ( #453 )
2024-02-19 18:45:38 -05:00
Sean Whalen
6c84cfb7c4
Fix output in tests.py
2023-06-27 15:56:33 -04:00
Sean Whalen
89872d78ac
Fix testing
2023-06-27 15:43:09 -04:00
Jed Laundry
a06fdc586f
Change publicsuffix2 to publicsuffixlist ( #406 )
...
* change to publicsuffixlist
* update publicsuffixlist (now auto-updating)
* Fix unused imports
2023-05-09 08:49:41 -04:00
Dave Rawks
84a7386726
Handle unexpected xml parsing errors more gracefully ( #349 )
...
* updates `parse_aggregate_report_xml` to not raise an unhandled
exception on parsing errors
* adds an empty xml file to the aggregate test samples
* adds test for coverage
* Resolves #348
2022-09-08 18:23:34 -04:00
Sean Whalen
06371dfe9b
Expand test coverage
2019-04-04 20:15:55 -04:00
Sean Whalen
e588845f23
6.1.0 - Fix aggregate report email parsing regression
...
Fix aggregate report email parsing regression in 6.0.3 (closes issues #57 and #58 )
2019-02-13 10:30:25 -05:00
Sean Whalen
49387d9033
4.3.0 release
2018-10-12 12:02:55 -04:00
Sean Whalen
f45ab94e06
Update test suitw
2018-10-11 19:01:02 -04:00
Sean Whalen
2c7002d3cc
Fix testing automation
2018-05-14 19:39:14 -04:00
Sean Whalen
d900ebf0eb
2.1.2
2018-03-06 10:01:27 -05:00
Sean Whalen
6b9e36ed77
First commit
2018-02-05 20:23:07 -05:00