The upgrade from response 0.23.3 to 0.24.0 removed the typing override
that handled `@responses.activate()`. Remove the unneeded call to allow
mypy to detect the correct types.
Previously, the default behaviour was to delete data, and the user could
pass --dry-run to just display results.
Now the default behaviour is to ask for confirmation, and the user can
pass --yes to skip it.
Add IQ_FOR_VERIFICATION env var and setting.
Refactor api.phones.views._send_iq_sms into PhonesConfig.send_iq_sms
Use PhonesConfig.send_iq_sms to send real phone verification when
IQ_FOR_VERIFICATION is True.
Update docs for end-to-end local iQ development.
This allows removing repetative setup from relay number creation tests.
Continue removing lines by removing shorter mock names that are just
used once.
Many existing tests rely on acquiring a relay phone number without
TWILIO_MESSAGING_SERVICE_ID being set. Handle this by skipping
registration and logging a warning.
Change the Twilio messaging service IDs settings to a comma-separated
list. Legacy values will be treated as a list on one entry.
When registeting a US relay phone mask with a messaging service, try
each service in order, stopping after the first successful service. Take
note of full services in the cache to avoid checking them.
Add fixture that creates a real phone number and resets the Twilio
client mock, to clear the sent confirmation message. Use the fixture in
tests of allocating a US-based relay number. Refactor tests to remove
redundant assertions and test all mocked parameters.
Add nullable last_call_date and last_text_date to InboundContact. Set
when a call or text is received.
Use last_inbound_contact and last_text_date to find the last texter.
Instead of initializing Twilio clients on application startup,
initialize them on first use. This benefits applications that
do not use phones, such as ./manage.py migrate. They startup faster, and
do not need Twilio account settings in the environment.