When developing a system that provides two-factor authentication capabilities, it's always nice to see things working in unit or functional testing. However, when running automated integrated tests isn't an easy task, as it might be dependent on other factors, like sending and receiving SMS messages.
With that in mind, we have created an extensible framework for you to test your applications being deployed with Authy OneCode and Authy Phone Verification for the delivery of the one-time passwords and tokens via SMS.
The framework can be found here. It's completely free and open source.
Some of the tasks that the 2FA Automated Testing Framework is able to help you with are:
Acquire a new Twilio number (or use an existing one).
Set up a webhook URL for the Twilio number to forward the SMS messages generated and delivered by Authy OneCode and/or Authy phone verification. You can also set the framework to poll for SMS messages on your Twilio number.
Register the Twilio phone number and create a new user with the Authy service.
Use the Authy One Code and/or Authy Phone Verification API to trigger an SMS message delivery to the Twilio Number.
Validate the received SMS message payload with the Authy OneCode and/or Authy Phone Verification APIs.
Report if the token provided is valid or not.
Release the Twilio phone number and remove the Authy user depending on how you configure the framework.
Download or clone it from here and start testing!