Auto Start test
This commit is contained in:
109
test_auto_start.py
Normal file
109
test_auto_start.py
Normal 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()
|
||||
Reference in New Issue
Block a user