diff options
Diffstat (limited to 'vhosts/t/phpcon-kagawa-2025/tests')
| -rwxr-xr-x | vhosts/t/phpcon-kagawa-2025/tests/test_404.sh | 61 | ||||
| -rwxr-xr-x | vhosts/t/phpcon-kagawa-2025/tests/test_cookie.sh | 85 | ||||
| -rwxr-xr-x | vhosts/t/phpcon-kagawa-2025/tests/test_cookie_eat.sh | 83 | ||||
| -rwxr-xr-x | vhosts/t/phpcon-kagawa-2025/tests/test_get.sh | 49 | ||||
| -rwxr-xr-x | vhosts/t/phpcon-kagawa-2025/tests/test_post.sh | 75 |
5 files changed, 353 insertions, 0 deletions
diff --git a/vhosts/t/phpcon-kagawa-2025/tests/test_404.sh b/vhosts/t/phpcon-kagawa-2025/tests/test_404.sh new file mode 100755 index 0000000..509dfdb --- /dev/null +++ b/vhosts/t/phpcon-kagawa-2025/tests/test_404.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# Test for 404 Not Found response + +BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" +PASSED=0 +FAILED=0 + +echo "Testing 404 Not Found" +echo "=====================" + +# Test 1: GET / returns 404 +echo -n "Test 1: GET / returns 404... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/") +if [ "$response" = "404" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 2: GET /nonexistent returns 404 +echo -n "Test 2: GET /nonexistent returns 404... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/nonexistent") +if [ "$response" = "404" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 3: GET /foo/bar returns 404 +echo -n "Test 3: GET /foo/bar returns 404... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/foo/bar") +if [ "$response" = "404" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 4: 404 response body contains "404 Not Found" +echo -n "Test 4: 404 response body contains '404 Not Found'... " +content=$(curl -s "$BASE_URL/nonexistent") +if [ "$content" = "404 Not Found" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got '$content')" + ((FAILED++)) +fi + +echo "" +echo "Results: $PASSED passed, $FAILED failed" + +if [ $FAILED -gt 0 ]; then + exit 1 +fi +exit 0 diff --git a/vhosts/t/phpcon-kagawa-2025/tests/test_cookie.sh b/vhosts/t/phpcon-kagawa-2025/tests/test_cookie.sh new file mode 100755 index 0000000..3678442 --- /dev/null +++ b/vhosts/t/phpcon-kagawa-2025/tests/test_cookie.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# Test for /cookie endpoint + +BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" +PASSED=0 +FAILED=0 + +echo "Testing /cookie endpoint" +echo "========================" + +# Test 1: GET /cookie returns 200 +echo -n "Test 1: GET /cookie returns 200... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/cookie") +if [ "$response" = "200" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 2: GET /cookie returns udon shop page +echo -n "Test 2: GET /cookie returns udon shop page... " +content=$(curl -s "$BASE_URL/cookie") +if echo "$content" | grep -q "うどん店"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 3: POST /cookie sets order cookie +echo -n "Test 3: POST /cookie sets order cookie... " +response=$(curl -s -i -X POST "$BASE_URL/cookie" \ + -d "udon=%E3%81%8B%E3%81%91" | grep -i "Set-Cookie") +if echo "$response" | grep -q "order="; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 4: GET /cookie with existing order shows order +echo -n "Test 4: GET /cookie with existing order shows order... " +content=$(curl -s -b "order=%E3%81%8B%E3%81%91" "$BASE_URL/cookie") +if echo "$content" | grep -q "かけ"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 5: POST /cookie adds to existing orders +echo -n "Test 5: POST /cookie adds to existing orders... " +response=$(curl -s -i -X POST -b "order=%E3%81%8B%E3%81%91" "$BASE_URL/cookie" \ + -d "udon=%E9%87%9C%E7%8E%89" | grep -i "Set-Cookie") +if echo "$response" | grep -q "order="; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 6: Multiple orders are stored in cookie +echo -n "Test 6: Multiple orders are displayed... " +content=$(curl -s -b "order=%E3%81%8B%E3%81%91%2C%E9%87%9C%E7%8E%89" "$BASE_URL/cookie") +if echo "$content" | grep -q "かけ" && echo "$content" | grep -q "釜玉"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +echo "" +echo "Results: $PASSED passed, $FAILED failed" + +if [ $FAILED -gt 0 ]; then + exit 1 +fi +exit 0 diff --git a/vhosts/t/phpcon-kagawa-2025/tests/test_cookie_eat.sh b/vhosts/t/phpcon-kagawa-2025/tests/test_cookie_eat.sh new file mode 100755 index 0000000..d19229c --- /dev/null +++ b/vhosts/t/phpcon-kagawa-2025/tests/test_cookie_eat.sh @@ -0,0 +1,83 @@ +#!/bin/bash +# Test for /cookie/eat endpoint + +BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" +PASSED=0 +FAILED=0 + +echo "Testing /cookie/eat endpoint" +echo "============================" + +# Test 1: GET /cookie/eat returns 200 +echo -n "Test 1: GET /cookie/eat returns 200... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/cookie/eat") +if [ "$response" = "200" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 2: GET /cookie/eat without orders shows no order message +echo -n "Test 2: GET /cookie/eat without orders shows message... " +content=$(curl -s "$BASE_URL/cookie/eat") +if echo "$content" | grep -q "注文がありません"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 3: GET /cookie/eat with orders shows orders +echo -n "Test 3: GET /cookie/eat with orders shows orders... " +content=$(curl -s -b "order=%E3%81%8B%E3%81%91" "$BASE_URL/cookie/eat") +if echo "$content" | grep -q "かけ"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 4: GET /cookie/eat clears cookie +echo -n "Test 4: GET /cookie/eat clears cookie... " +response=$(curl -s -I -b "order=%E3%81%8B%E3%81%91" "$BASE_URL/cookie/eat" | grep -i "Set-Cookie") +if echo "$response" | grep -q "Max-Age=0"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 5: GET /cookie/eat shows success message +echo -n "Test 5: GET /cookie/eat shows success message... " +content=$(curl -s -b "order=%E3%81%8B%E3%81%91" "$BASE_URL/cookie/eat") +if echo "$content" | grep -q "ごちそうさまでした"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 6: GET /cookie/eat with multiple orders shows all +echo -n "Test 6: GET /cookie/eat with multiple orders shows all... " +content=$(curl -s -b "order=%E3%81%8B%E3%81%91%2C%E9%87%9C%E7%8E%89" "$BASE_URL/cookie/eat") +if echo "$content" | grep -q "かけ" && echo "$content" | grep -q "釜玉"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +echo "" +echo "Results: $PASSED passed, $FAILED failed" + +if [ $FAILED -gt 0 ]; then + exit 1 +fi +exit 0 diff --git a/vhosts/t/phpcon-kagawa-2025/tests/test_get.sh b/vhosts/t/phpcon-kagawa-2025/tests/test_get.sh new file mode 100755 index 0000000..99653b9 --- /dev/null +++ b/vhosts/t/phpcon-kagawa-2025/tests/test_get.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# Test for /get endpoint + +BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" +PASSED=0 +FAILED=0 + +echo "Testing /get endpoint" +echo "=====================" + +# Test 1: GET /get returns 200 +echo -n "Test 1: GET /get returns 200... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/get") +if [ "$response" = "200" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 2: GET /get returns phpinfo +echo -n "Test 2: GET /get returns phpinfo... " +content=$(curl -s "$BASE_URL/get") +if echo "$content" | grep -q "phpinfo()"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 3: GET /get contains PHP version +echo -n "Test 3: GET /get contains PHP Version... " +if echo "$content" | grep -q "PHP Version"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +echo "" +echo "Results: $PASSED passed, $FAILED failed" + +if [ $FAILED -gt 0 ]; then + exit 1 +fi +exit 0 diff --git a/vhosts/t/phpcon-kagawa-2025/tests/test_post.sh b/vhosts/t/phpcon-kagawa-2025/tests/test_post.sh new file mode 100755 index 0000000..950c4ff --- /dev/null +++ b/vhosts/t/phpcon-kagawa-2025/tests/test_post.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# Test for /post endpoint + +BASE_URL="${BASE_URL:-http://127.0.0.1:8080}" +PASSED=0 +FAILED=0 + +echo "Testing /post endpoint" +echo "======================" + +# Test 1: GET /post returns 200 +echo -n "Test 1: GET /post returns 200... " +response=$(curl -s -o /dev/null -w "%{http_code}" "$BASE_URL/post") +if [ "$response" = "200" ]; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED (got $response)" + ((FAILED++)) +fi + +# Test 2: GET /post returns quiz form +echo -n "Test 2: GET /post returns quiz form... " +content=$(curl -s "$BASE_URL/post") +if echo "$content" | grep -q "本州四国連絡橋クイズ"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 3: POST /post with correct answers returns all correct +echo -n "Test 3: POST /post with correct answers... " +response=$(curl -s -X POST "$BASE_URL/post" \ + -d "ehime=hiroshima&kagawa=okayama&tokushima=hyogo") +if echo "$response" | grep -q "スコア: 3 / 3"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 4: POST /post with wrong answers returns score 0 +echo -n "Test 4: POST /post with wrong answers... " +response=$(curl -s -X POST "$BASE_URL/post" \ + -d "ehime=osaka&kagawa=osaka&tokushima=osaka") +if echo "$response" | grep -q "スコア: 0 / 3"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +# Test 5: POST /post with partial correct answers +echo -n "Test 5: POST /post with partial correct answers... " +response=$(curl -s -X POST "$BASE_URL/post" \ + -d "ehime=hiroshima&kagawa=osaka&tokushima=osaka") +if echo "$response" | grep -q "スコア: 1 / 3"; then + echo "PASSED" + ((PASSED++)) +else + echo "FAILED" + ((FAILED++)) +fi + +echo "" +echo "Results: $PASSED passed, $FAILED failed" + +if [ $FAILED -gt 0 ]; then + exit 1 +fi +exit 0 |
