2011-10-25 7 views
0

私はdjangoでwebhooksコールバックの単体テストを作成しようとしています。私のアプリケーションは、私が少しのコードを実行すると、自分の選択したURLにPOSTリクエストを送信するように設定されています。これはテストしようとしている機能です。アウトバウンドHTTPコールをソケットでテストしますか?

このリクエストをリッスンし、送信されたかどうかを伝えるソケットを設定したいと考えています。

import socket 

def webHooksTest(self): 
    targetURL = 'http://127.0.0.1:8000' 

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    s.bind('localhost', 8000) 
    s.listen(1) 
    s.accept() 

    # Code that triggers POST request goes here 

    self.assertNotEqual(s.recvd(), None, "WebHooks URL did not receive anything") 

プログラムはs.accept()ライン上にハングアップ、決してリクエストを送信してしまいますので、通りであり、これは、まったく動作しません。私がこのような何かを行く想像してみてください。

私は完全に非同期プログラミングに新しいですし、いくつかのアドバイスを使用することができます。 Pythonのドキュメントを調べてみると、ソケットモジュールだけではこれができないと私は確信しています。私は非同期の魔法が必要です。

答えて

1

ソケットライブラリではこれを単独で行うことはできません。 python twistedをご覧ください。 これはあなたを助けるはずです。私はまだジャンゴでそれを試していないが。

関連する問題