/
warriorpacis
/
TaskBoard
Обзор
Документация
Войти
/
warriorpacis
/
TaskBoard
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test_functionality.py
118 строк
6 KB
fedotrick
Проекь готов для перехода
29 окт 2025, 07:30
29 окт 2025, 07:30
2543d44
Код
Авторство
О чём код?
import os import sqlite3 from openpyxl import load_workbook def test_database_connections(): """Тестирует подключение к базам данных""" print("=== ТЕСТИРОВАНИЕ ПОДКЛЮЧЕНИЯ К БАЗАМ ДАННЫХ ===") # Проверяем существование файлов баз данных foundry_db_path = r'C:\Users\1\Telegram\MetalFusionX\foundry.db' skleyka_db_path = r'C:\Users\1\Telegram\FoamFusionLab\data\склейка.db' control_db_path = r'C:\Users\1\Telegram\FoamFusionLab\data\контроль_сборки.db' print(f'foundry.db существует: {os.path.exists(foundry_db_path)}') print(f'склейка.db существует: {os.path.exists(skleyka_db_path)}') print(f'контроль_сборки.db существует: {os.path.exists(control_db_path)}') # Тестируем подключение к foundry.db if os.path.exists(foundry_db_path): try: conn = sqlite3.connect(foundry_db_path) cursor = conn.cursor() cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") tables = cursor.fetchall() print(f'foundry.db: подключение успешно, таблицы: {tables}') conn.close() except Exception as e: print(f'foundry.db: ошибка подключения - {e}') else: print('foundry.db: файл не найден') # Тестируем подключение к склейка.db if os.path.exists(skleyka_db_path): try: conn = sqlite3.connect(skleyka_db_path) cursor = conn.cursor() cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") tables = cursor.fetchall() print(f'склейка.db: подключение успешно, таблицы: {tables}') conn.close() except Exception as e: print(f'склейка.db: ошибка подключения - {e}') else: print('склейка.db: файл не найден') # Тестируем подключение контроль_сборки.db if os.path.exists(control_db_path): try: conn = sqlite3.connect(control_db_path) cursor = conn.cursor() cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") tables = cursor.fetchall() print(f'контроль_сборки.db: подключение успешно, таблицы: {tables}') conn.close() except Exception as e: print(f'контроль_сборки.db: ошибка подключения - {e}') else: print('контроль_сборки.db: файл не найден') def test_excel_functionality(): """Тестирует сохранение в Excel""" print("\n=== ТЕСТИРОВАНИЕ РАБОТЫ С EXCEL ===") # Проверяем существование Excel файла print(f'marshrutka.xlsx существует: {os.path.exists("marshrutka.xlsx")}') if os.path.exists('marshrutka.xlsx'): try: wb = load_workbook('marshrutka.xlsx') print(f'Листы в marshrutka.xlsx: {wb.sheetnames}') if 'Records' in wb.sheetnames: ws = wb['Records'] print(f'Количество строк в листе Records: {ws.max_row}') wb.close() print("Файл Excel доступен для чтения") except Exception as e: print(f'Ошибка при открытии Excel файла: {e}') else: print('Файл marshrutka.xlsx не найден, будет создан при первом сохранении') # Проверяем возможность создания нового файла try: from openpyxl import Workbook test_wb = Workbook() test_ws = test_wb.active test_ws.title = "Test" test_ws['A1'] = "Тестовое значение" test_wb.save('test_excel.xlsx') test_wb.close() print("Создание Excel файла работает корректно") # Удаляем тестовый файл os.remove('test_excel.xlsx') except Exception as e: print(f'Ошибка при создании Excel файла: {e}') def test_specialists_file(): """Тестирует файл специалистов""" print("\n=== ТЕСТИРОВАНИЕ ФАЙЛА СПЕЦИАЛИСТОВ ===") print(f'specialists.json существует: {os.path.exists('specialists.json')}') if os.path.exists('specialists.json'): try: import json with open('specialists.json', 'r', encoding='utf-8') as f: data = json.load(f) print(f'Файл specialists.json корректно читается, категории: {list(data.keys())}') for category, specialists in data.items(): print(f' {category}: {len(specialists)} специалистов') except Exception as e: print(f'Ошибка при чтении specialists.json: {e}') if __name__ == "__main__": test_database_connections() test_excel_functionality() test_specialists_file() print("\n=== ТЕСТИРОВАНИЕ ЗАВЕРШЕНО ===")