强制Twilio缓慢响应请求以测试应用程序的处理

时间:2014-01-24 16:58:55

标签: testing twilio

我正在调试通过Twilio REST API发送SMS消息的应用程序。前几天我们有一个奇怪的错误,我们无法重现,我认为它可能已经发生,因为Twilio API需要很长时间才能响应(2-3秒)并且应用程序没有很好地处理延迟。 / p>

我们正在努力改进应用程序以更好地处理这样的情况,但我不确定如何测试我们是否真的解决了这个问题。 有没有办法迫使Twilio慢慢回应,以便对此进行测试?

我意识到我可以长时间制作自己的模拟Web服务并将其替换为Twilio - 但我想尽可能避免这种情况。特别是,我正在使用Twilio帮助程序库中的一个用于所有调用,并且如果可能的话,我们希望避免使用它们进行猴子修补。

2 个答案:

答案 0 :(得分:2)

您可能想尝试在测试中配置代理服务器,响应速度非常慢。这是我们在Nginx中使用的一个。注意它需要nginx-lua模块。

location ~ /slow {
    # Proxy pass is necessary so the incoming request is accepted and 
    # processed by nginx.
    proxy_pass http://127.0.0.1:11418;
}

server {
    listen 127.0.0.1:11418;

    location ~ / {
        # return a funny HTTP code here, so it's clear that the slow block got
        # hit.
        add_header 'X-Served-By: slow-as-heck';
        content_by_lua 'ngx.sleep(25); ngx.exit(418)';
    }
}

你也可以尝试连接一个不会发回TCP重置的死IP,比如10.255.255.1。

希望它有所帮助, 凯文

答案 1 :(得分:0)

Twilio传道者在这里。

目前没有办法告诉Twilio模拟慢速HTTP响应或HTTP响应超时。

根据您的平台,可能有一种方法可以捕获网络超时,这听起来像您怀疑导致了问题。

希望有所帮助。