Skip to content

Instantly share code, notes, and snippets.

@ywatai
Last active December 18, 2015 03:29
Show Gist options
  • Save ywatai/5718604 to your computer and use it in GitHub Desktop.
Save ywatai/5718604 to your computer and use it in GitHub Desktop.
http, smtp あたりのプロトコルの基礎とサーバの扱いを学んでもらうにあたり 新人にいきなりこれを見せてサーバを作らせるのはどーか。
#language: ja
フィーチャ: httpサーバ
シナリオ: 静的コンテンツが表示される
もし "/"にアクセスする
ならば HTTPのステータスコードは"200"
かつ 以下の文字列を含むコンテンツが返される
"""
ようこそ!!
"""
シナリオ: 404エラーページが表示される
もし "/not_present.txt"にアクセスする
ならば HTTPのステータスコードは"404"
かつ 以下の文字列を含むコンテンツが返される
"""
そんなもんねーよ
"""
シナリオ: privateはベーシック認証がかかっている
もし "/private/secret.txt"にアクセスする
ならば HTTPのステータスコードは"401"
かつ ベーシック認証を要求される
シナリオ: privateへadmin:passwordでアクセスできる
前提 以下のユーザとしてベーシック認証する
|ユーザ名|admin|
|パスワード|password|
もし "/private/secret.txt"にアクセスする
ならば HTTPのステータスコードは"200"
かつ 以下の文字列を含むコンテンツが返される
"""
これは管理者だけの秘密
"""
シナリオ: cgiが動作する
もし "/cgi-bin/echo.cgi?message=こんにちは"にアクセスする
ならば HTTPのステータスコードは"200"
かつ 以下の文字列を含むコンテンツが返される
"""
こんにちは
"""
もし "/cgi-bin/echo.cgi?message=こんにちはこんにちは"にアクセスする
ならば HTTPのステータスコードは"503"
かつ 以下の文字列を含むコンテンツが返される
"""
ごめん。今忙しい
"""
シナリオ: /cgi-bin/admin 以下はアドレスでACLがかかっていて社内からしかアクセスできない
前提 社内からアクセスする
もし "/cgi-bin/admin/mail.cgi"にアクセスする
ならば HTTPのステータスコードは"200"
前提 社外からアクセスする
もし "/cgi-bin/admin/mail.cgi"にアクセスする
ならば HTTPのステータスコードは"403"
シナリオ: cgiからメールが送信できる
前提 社内からアクセスする
もし "/cgi-bin/admin/mail.cgi"にアクセスする
ならば 以下の文字列を含むコンテンツが返される
"""
送信するメッセージを入力してください。
"""
もし "宛先"に"$MAIL_ADDRESS"と入力する
もし "メッセージ"に"こんにちは"と入力する
かつ "送信"ボタンをクリックする
ならば 以下の文字列を含むコンテンツが返される
"""
メッセージを送信しました。
"""
かつ "$MAIL_ADDRESS"に以下の文字列を含むメールが配送される
"""
こんにちは
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment