Update cached schedule users to consider deleted users (#4246)
Fixes https://github.com/grafana/oncall-private/issues/2529
This commit is contained in:
parent
90fb90ad07
commit
9977179651
2 changed files with 15 additions and 1 deletions
|
|
@ -490,7 +490,12 @@ def get_cached_oncall_users_for_multiple_schedules(schedules: typing.List["OnCal
|
|||
for cache_key, oncall_users in cached_results.items():
|
||||
schedule_public_primary_key = _get_schedule_public_primary_key_from_schedule_oncall_users_cache_key(cache_key)
|
||||
schedule = schedules[schedule_public_primary_key]
|
||||
oncall_users = [users[user_public_primary_key] for user_public_primary_key in oncall_users]
|
||||
oncall_users = [
|
||||
users[user_public_primary_key]
|
||||
for user_public_primary_key in oncall_users
|
||||
# filter out any users that we couldn't find in the database (e.g. deleted)
|
||||
if user_public_primary_key in users
|
||||
]
|
||||
|
||||
results[schedule] = oncall_users
|
||||
|
||||
|
|
|
|||
|
|
@ -671,3 +671,12 @@ def test_get_cached_oncall_users_for_multiple_schedules(
|
|||
_generate_cache_key(schedule2): [users[2].public_primary_key, users[3].public_primary_key],
|
||||
_generate_cache_key(schedule3): [users[4].public_primary_key, users[5].public_primary_key],
|
||||
}
|
||||
|
||||
# scenario: user is deleted but still in cache (all schedules are still in cache)
|
||||
users[0].delete()
|
||||
results = get_cached_oncall_users_for_multiple_schedules(schedules)
|
||||
assert results == {
|
||||
schedule1: [users[1]],
|
||||
schedule2: [users[2], users[3]],
|
||||
schedule3: [users[4], users[5]],
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue