oncall-engine/engine/apps/api/tests
Innokentii Konstantinov 1f786e8d2a
Phone provider refactoring (#1713)
# What this PR does
This PR moves phone notification logic into separate object PhoneBackend
and introduces PhoneProvider interface to hide actual implementation of
external phone services provider. It should allow add new phone
providers just by implementing one class (See SimplePhoneProvider for
example).
# Why 
[Asterisk PR](https://github.com/grafana/oncall/pull/1282) showed that
our phone notification system is not flexible. However this is one of
the most frequent community questions - how to add "X" phone provider.
Also, this refactoring move us one step closer to unifying all
notification backends, since with PhoneBackend all phone notification
logic is collected in one place and independent from concrete
realisation.
# Highligts
1. PhoneBackend object - contains all phone notifications business
logic.
2. PhoneProvider - interface to  external phone services provider.
3. TwilioPhoneProvider and SimplePhoneProvider - two examples of
PhoneProvider implementation.
4. PhoneCallRecord and SMSRecord models. I introduced these models to
keep phone notification limits logic decoupled from external providers.
Existing TwilioPhoneCall and TwilioSMS objects will be migrated to the
new table to not to reset limits counter. To be able to receive status
callbacks and gather from Twilio TwilioPhoneCall and TwilioSMS still
exists, but they are linked to PhoneCallRecord and SMSRecord via fk, to
not to leat twilio logic into core code.

---------

Co-authored-by: Yulia Shanyrova <yulia.shanyrova@grafana.com>
2023-05-24 06:27:48 +00:00
..
__init__.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
conftest.py Refactor maintenance (#1340) 2023-02-23 07:13:03 +00:00
test_alert_group.py upgrade to python 3.11.3 (#1849) 2023-05-05 15:32:40 +00:00
test_alert_receive_channel.py Allow use of dynamic payloads in alert receive channels preview templ… (#1756) 2023-04-18 03:57:40 +00:00
test_alert_receive_channel_template.py Return is_based_on_alertmanager for alert_receive_channel in private api (#1782) 2023-04-20 05:49:25 +00:00
test_channel_filter.py Added preview and migration API endpoints for route migration from regex into jinja2 (#1715) 2023-04-18 02:53:53 +00:00
test_custom_button.py use CustomURLValidator in custom_button (#1398) 2023-03-23 12:21:17 +00:00
test_escalation_chain.py Allow changing team for escalation chains (#1658) 2023-03-30 10:43:00 +01:00
test_escalation_policy.py Add escalation chain support for new webhooks (#1654) 2023-04-05 12:03:55 +00:00
test_features.py remove mobile app feature flag (#1484) 2023-03-08 11:22:44 +01:00
test_gitops.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_integration_heartbeat.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_live_settings.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
test_maintenance.py Fix teams filter related issue setting maintenance mode (#1885) 2023-05-05 18:09:25 +00:00
test_oncall_shift.py Update shift API to use a default for interval when missing (#1810) 2023-04-21 19:13:09 +00:00
test_organization.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_paging.py Return alert group ID in direct paging API (#1241) 2023-01-30 11:48:25 +00:00
test_postmortem_messages.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_preview_template_options.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
test_public_api_tokens.py only grant admins read/write access to public api keys (#952) 2022-12-06 13:02:53 +01:00
test_route_regex_debugger.py World, meet OnCall! 2022-06-03 08:09:47 -06:00
test_schedule_export.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_schedules.py Rework schedule related users, add endpoint (#1828) 2023-04-26 20:46:51 +00:00
test_set_general_log_channel.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_slack_channels.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_slack_team_settings.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_subscription.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_team.py Fix team update (#1794) 2023-04-19 15:22:14 +00:00
test_telegram_channel.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_terraform_renderer.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_user.py Phone provider refactoring (#1713) 2023-05-24 06:27:48 +00:00
test_user_groups.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_user_notification_policy.py Allow messaging backends to be enabled/disabled per organization (#1151) 2023-01-18 15:52:25 +00:00
test_user_schedule_export.py Add RBAC Support (#777) 2022-11-29 09:41:56 +01:00
test_webhooks.py Webhook 2 improvements and fixes (#1829) 2023-04-26 15:55:08 -06:00