mrs_wsのテスト

mrs.jsとroom.jsはPhantomJSを用いて自動的にテストができます。
現状はMacOSとAmazon Linux において動作確認していますが、
node.jsをインストールできるような標準的Linuxであれば問題なく動作するはずです。

手順

  1. phantomjsコマンドをインストールする。http://phantomjs.org/ からダウンロードしてパッケージをインストールするだけです。パスを通しておいて下さい。
  2. mrs.js のテストをするには、 sh test_mrs.sh を実行する。 これでレコード送受信のテストができます。
  3. room.js のテストをするには、 sh test_room.sh を実行する。 これでMRS Roomのプロトコルの全関数のテストができます。

テストの構成

test_mrs.sh は、echo_serverをバックグランドで起動し、
1秒待ってから phantomjs test_mrs_phantom.jsを起動してテストを実行します。
test_mrs_phantom.js は、ダミーのHTML (test.html)を読み込んで、
mrs.js と test_mrs.jsを読み込んで実行するだけです。

テストの実体は test_mrs.js に書かれているので、
MRSのAPIが変わった時は test_mrs.jsに関数を追加したりメンテナンスをすることになります。

test_mrs.jsは起動したら100ミリ秒に1回レコードを送信し続け、
サーバーからレコードがエコーされてきたら内容を検査し、カウントするだけです。

console.logにERRORが出ていたら失敗です。

room.jsについても同様で、 test_room.jsがテストの実体です。
テストが無事完了するとALL OKが表示され、失敗するとERRORが表示されます。

curlコマンドを使った簡易的なテスト

TLSなしのWebSocket (ws://) を使う場合は以下のコマンドラインでサーバーが生きているかどうか、ハンドシェイクが成功するかどうかは確認できます。
127.0.0.1の22223ポートでwebsocketサーバが待機している必要があります。

shell$ curl -k -v -i -N -H 'Sec-WebSocket-Version: 13' -H "Sec-WebSocket-Key: $(head -c 16 /dev/urandom | base64)" -H "Connection: Upgrade" -H "Upgrade: websocket" "http://127.0.0.1:22223/"

wss://の疎通を確認するときは、末尾の "http://127.0.0.1:22223/"を "https://127.0.0.1:22224/"等に変更して下さい。


Copyright © 2019 MONOBIT ENGINE Inc.