|
|
|
""" |
|
ContBK統合システム - 動作確認スクリプト |
|
=================================== |
|
|
|
このスクリプトは、ContBK統合システムが正しく動作しているかを確認します。 |
|
""" |
|
|
|
import sys |
|
import os |
|
sys.path.append('.') |
|
|
|
def test_imports(): |
|
"""必要なモジュールのインポートテスト""" |
|
print("📦 インポートテスト...") |
|
try: |
|
from mysite.routers.gradio import include_gradio_interfaces, setup_gradio_interfaces |
|
print(" ✅ メイン統合モジュール") |
|
|
|
from controllers.contbk_example import gradio_interface as contbk_example |
|
print(" ✅ ContBKダッシュボード") |
|
|
|
from controllers.contbk_dashboard import gradio_interface as contbk_dashboard |
|
print(" ✅ ContBK統合") |
|
|
|
return True |
|
except ImportError as e: |
|
print(f" ❌ インポートエラー: {e}") |
|
return False |
|
|
|
def test_interface_detection(): |
|
"""インターフェース検出テスト""" |
|
print("\n🔍 インターフェース検出テスト...") |
|
try: |
|
from mysite.routers.gradio import include_gradio_interfaces |
|
interfaces, names = include_gradio_interfaces() |
|
|
|
print(f" ✅ 検出されたインターフェース数: {len(interfaces)}") |
|
|
|
expected_keywords = ['ContBK', 'ダッシュボード', 'AI', 'チャット'] |
|
found_keywords = [kw for kw in expected_keywords if any(kw in name for name in names)] |
|
|
|
print(f" ✅ 期待されるキーワード: {len(found_keywords)}/{len(expected_keywords)}") |
|
|
|
if len(interfaces) >= 10 and len(found_keywords) >= 3: |
|
print(" 🎉 インターフェース検出: 成功") |
|
return True |
|
else: |
|
print(" ⚠️ インターフェース検出: 部分的成功") |
|
return False |
|
|
|
except Exception as e: |
|
print(f" ❌ 検出エラー: {e}") |
|
return False |
|
|
|
def test_beautiful_titles(): |
|
"""美しいタイトルテスト""" |
|
print("\n🎨 美しいタイトルテスト...") |
|
try: |
|
from mysite.routers.gradio import include_gradio_interfaces |
|
interfaces, names = include_gradio_interfaces() |
|
|
|
emoji_count = sum(1 for name in names if any(ord(char) > 127 for char in name)) |
|
|
|
print(f" ✅ 絵文字付きタイトル: {emoji_count}/{len(names)}") |
|
|
|
if emoji_count >= len(names) * 0.8: |
|
print(" 🎉 美しいタイトル: 成功") |
|
return True |
|
else: |
|
print(" ⚠️ 美しいタイトル: 改善の余地あり") |
|
return False |
|
|
|
except Exception as e: |
|
print(f" ❌ タイトルテストエラー: {e}") |
|
return False |
|
|
|
def test_contbk_integration(): |
|
"""ContBK統合テスト""" |
|
print("\n📂 ContBK統合テスト...") |
|
try: |
|
|
|
if not os.path.exists('contbk'): |
|
print(" ⚠️ contbkフォルダーが見つかりません") |
|
return False |
|
|
|
|
|
contbk_dirs = [d for d in os.listdir('contbk') if d.startswith('gra_') and os.path.isdir(f'contbk/{d}')] |
|
|
|
print(f" ✅ ContBKディレクトリ数: {len(contbk_dirs)}") |
|
|
|
if len(contbk_dirs) >= 3: |
|
print(" 🎉 ContBK統合: 成功") |
|
return True |
|
else: |
|
print(" ⚠️ ContBK統合: 部分的成功") |
|
return False |
|
|
|
except Exception as e: |
|
print(f" ❌ ContBK統合エラー: {e}") |
|
return False |
|
|
|
def main(): |
|
"""メイン検証関数""" |
|
print("🎯 ContBK統合システム - 動作確認") |
|
print("=" * 40) |
|
|
|
tests = [ |
|
("インポート", test_imports), |
|
("インターフェース検出", test_interface_detection), |
|
("美しいタイトル", test_beautiful_titles), |
|
("ContBK統合", test_contbk_integration) |
|
] |
|
|
|
results = [] |
|
for test_name, test_func in tests: |
|
result = test_func() |
|
results.append((test_name, result)) |
|
|
|
print("\n📊 結果サマリー") |
|
print("-" * 20) |
|
|
|
success_count = 0 |
|
for test_name, result in results: |
|
status = "✅ 成功" if result else "❌ 失敗" |
|
print(f"{test_name}: {status}") |
|
if result: |
|
success_count += 1 |
|
|
|
print(f"\n🎯 総合結果: {success_count}/{len(tests)} テスト成功") |
|
|
|
if success_count == len(tests): |
|
print("🎉 ContBK統合システムは完全に動作しています!") |
|
elif success_count >= len(tests) * 0.75: |
|
print("✅ ContBK統合システムは正常に動作しています") |
|
else: |
|
print("⚠️ 一部の機能に問題があります。ドキュメントを確認してください") |
|
|
|
print("\n📚 詳細情報:") |
|
print(" - 使用方法: controllers/USAGE_GUIDE.md") |
|
print(" - 統合ガイド: controllers/README_contbk_integration.md") |
|
print(" - システム状況: controllers/SYSTEM_STATUS_REPORT.md") |
|
|
|
if __name__ == "__main__": |
|
main() |
|
|