summaryrefslogtreecommitdiffhomepage
path: root/vhosts/t/phpcon-kagawa-2025/tests
diff options
context:
space:
mode:
Diffstat (limited to 'vhosts/t/phpcon-kagawa-2025/tests')
-rwxr-xr-xvhosts/t/phpcon-kagawa-2025/tests/test_404.sh61
-rwxr-xr-xvhosts/t/phpcon-kagawa-2025/tests/test_cookie.sh85
-rwxr-xr-xvhosts/t/phpcon-kagawa-2025/tests/test_cookie_eat.sh83
-rwxr-xr-xvhosts/t/phpcon-kagawa-2025/tests/test_get.sh49
-rwxr-xr-xvhosts/t/phpcon-kagawa-2025/tests/test_post.sh75
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