fix: guard against KeyError in get_priority_change_date by using .get()#2901
Open
AmSach wants to merge 4 commits into
Open
fix: guard against KeyError in get_priority_change_date by using .get()#2901AmSach wants to merge 4 commits into
AmSach wants to merge 4 commits into
Conversation
The change history entries may not always contain 'field_name' or 'added' keys, causing a KeyError when iterating through bug history. Using .get() with None default prevents the crash while preserving the original logic: only entries with field_name=='priority' and matching added value are used. Fixes mozilla#2607
Adds regression coverage for the change in mozilla#2901 that replaced change['field_name']/change['added'] with change.get(...) in AssigneeNoLogin.get_priority_change_date. Tests cover: - matching the most recent priority change - history entries missing field_name or added (the original crash) - returning None when no priority change matches - skipping malformed entries without raising Helps restore the test coverage that dropped after mozilla#2901.
…rity - Remove unused 'timedelta' import (ruff F401) - Wrap long dict literal in test_get_priority_change_date_returns_none_when_no_match across multiple lines to satisfy ruff-format line length These fixes resolve the pre-commit hook failures that were blocking CI on mozilla#2901. The pre-commit hooks were auto-fixing the file but still exited non-zero when files were modified, which failed the check.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixed the bug described in issue #2607. Here's what was wrong and how I fixed it: In get_priority_change_date(), the code directly accessed change['field_name'] and change['added'] without checking if those keys exist, causing KeyError on malformed history entries. Fixed by using .get() with None defaults. Tested by verifying syntax with ast.parse().