Auto Start test

This commit is contained in:
2025-09-06 07:03:07 +09:00
parent 316cff3f5f
commit 45c9b64a78

109
test_auto_start.py Normal file
View File

@ -0,0 +1,109 @@
#!/usr/bin/env python3
"""
自動スタート機能テストツール
大垣2509の宮だみーゼッケン9999でチェックイン→自動スタート機能をテスト
"""
import requests
import json
import time
def test_auto_start_checkin():
"""自動スタート機能のテスト"""
print("🚀 自動スタート機能テスト開始")
print("=" * 60)
# テストデータ大垣2509の宮だみー
test_data = {
"event_code": "大垣2509",
"team_name": "宮だみー",
"cp_number": "1", # 最初のチェックポイント
"image": "data:image/jpeg;base64,auto_start_test",
"buy_flag": False
}
print(f"📊 テストデータ:")
print(f" イベント: {test_data['event_code']}")
print(f" チーム: {test_data['team_name']}")
print(f" チェックポイント: {test_data['cp_number']}")
# チェックインAPIを実行
url = "http://localhost:8100/api/checkin_from_rogapp"
print(f"\n🎯 チェックインAPI実行:")
print(f" URL: {url}")
print(f" Method: POST")
try:
response = requests.post(url, json=test_data, timeout=10)
print(f"\n📥 レスポンス:")
print(f" ステータス: HTTP {response.status_code}")
# レスポンス内容を整形して表示
try:
response_data = response.json()
print(f" 内容: {json.dumps(response_data, ensure_ascii=False, indent=2)}")
# 成功判定
if response.status_code == 200 and response_data.get('status') == 'OK':
print(f"\n✅ 自動スタート機能テスト成功!")
return True
else:
print(f"\n❌ 自動スタート機能テスト失敗")
return False
except json.JSONDecodeError:
print(f" 内容: {response.text}")
return False
except Exception as e:
print(f"\n❌ APIリクエストエラー: {e}")
return False
def check_database_status():
"""データベースの状況確認"""
print(f"\n📊 データベース確認:")
print(f" 以下のSQLを実行して確認してください:")
print(f"")
print(f" -- 宮だみーのエントリー状況確認")
print(f" SELECT ")
print(f" en.id, en.zekken_number, t.team_name, ")
print(f" en.is_in_rog, en.rogaining_counted, en.start_time")
print(f" FROM rog_entry en")
print(f" JOIN rog_team t ON en.team_id = t.id")
print(f" JOIN rog_newevent2 e ON en.event_id = e.id")
print(f" WHERE en.zekken_number = 9999 AND e.event_code = 'ogaki2509';")
print(f"")
print(f" -- 宮だみーのGpsLogエントリー確認")
print(f" SELECT * FROM rog_gpslog ")
print(f" WHERE zekken_number = 9999 AND event_code = '大垣2509'")
print(f" ORDER BY serial_number;")
def main():
"""メイン処理"""
print("🔧 自動スタート機能テストツール")
print("対象: 大垣2509 - 宮だみーゼッケン9999")
print("=" * 60)
# テスト実行
success = test_auto_start_checkin()
# データベース確認方法を表示
check_database_status()
# 結果サマリー
print(f"\n📋 テスト結果サマリー:")
print(f" 自動スタート機能: {'✅ 成功' if success else '❌ 失敗'}")
if success:
print(f"\n🎉 自動スタート機能が正常に動作しています!")
print(f" これで、スマホアプリユーザーがスタート処理を忘れても、")
print(f" 最初のチェックイン時に自動的にスタートされます。")
else:
print(f"\n⚠️ 自動スタート機能に問題があります。")
print(f" ログを確認して問題を調査してください。")
if __name__ == "__main__":
main()