Repository navigation
fix(data_classes): return None from TransferFamilyAuthorizer.password when the event has none - #8715
Conversation
… when the event has none
leandrodamascena
left a comment
There was a problem hiding this comment.
Thanks @anishmehta24, confirmed. Transfer Family only sends password for password logins, the AWS sample identity provider itself checks for the missing key, and our Pydantic model already defaults it to None, so the data class was the odd one out.
I'm approving now. This goes out in 3.40.0, so it will sit here for a while before I merge it. No rebase needed in the meantime, and you'll be credited in the release notes.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #8715 +/- ##
========================================
Coverage 97.02% 97.02%
========================================
Files 321 321
Lines 16443 16443
Branches 1487 1487
========================================
Hits 15954 15954
Misses 349 349
Partials 140 140 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
c8da226
into
aws-powertools:develop



Issue number: closes #8714
Summary
Changes
TransferFamilyAuthorizer.passwordis typedstr | Noneand documented asNonefor non-password logins, but indexed the event directly, so an event withoutpasswordraisedKeyError. It now returnsself.get("password"), matching the Pydantic model, which already defaultspasswordtoNone. The docstring now says it'sNonewhen the event has no password (e.g. SSH key login) rather than mentioning certificates.Added
test_transfer_family_authorizer_event_without_passwordintests/unit/data_classes/required_dependencies/test_transfer_family_event.py; it fails ondevelopwithKeyError: 'password'.User experience
Before:
TransferFamilyAuthorizer(event).passwordraisesKeyErrorwhen the event has no password. After: it returnsNone.By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.