precommit4onec icon indicating copy to clipboard operation
precommit4onec copied to clipboard

Add new scenario ПроверкаКорректностиXML

Open Kirill opened this issue 1 year ago • 3 comments

Добавлен новый сценарий валидации XML-файла без логики

Kirill avatar May 21 '24 09:05 Kirill

Надо добавить тестов для каждого сценария

theshadowco avatar Jun 26 '24 06:06 theshadowco

Надо добавить тестов для каждого сценария

Разделить я могу, но по вопросам тестов - я не силен. Всё хочу научиться, но пока не знаю как приступить.

Kirill avatar Jul 12 '24 19:07 Kirill

@Kirill Можно сделать по аналогии с другими тестами

theshadowco avatar Jul 29 '24 13:07 theshadowco

Walkthrough

Добавлены два новых модуля сценариев обработки: для проверки дублей уникальных идентификаторов (UUID) в файлах EDT и для валидации XML-корректности конфигурационных файлов. Каждый модуль экспортирует функцию получения названия сценария и точку входа для обработки файлов с логированием и проверками.

Changes

Cohort / File(s) Сводка изменений
Сценарии проверки метаданных
src/СценарииОбработки/ПроверкаДублейУникальныхИдентификаторов.os, src/СценарииОбработки/ПроверкаКорректностиXML.os
Добавлены два новых модуля сценариев. Каждый экспортирует функции ИмяСценария() для возврата названия сценария и ОбработатьФайл() для обработки файлов. Первый модуль выполняет проверку дублей UUID в файлах метаданных, второй — валидацию XML-корректности конфигурационных файлов с логированием ошибок.

Sequence Diagram

sequenceDiagram
    participant Client
    participant Scenario as Сценарий
    participant Checker as Проверка
    participant Logger as Логирование

    Client->>Scenario: Получить имя сценария
    Scenario-->>Client: Возврат названия

    Client->>Scenario: ОбработатьФайл(файл, каталог, параметры)
    Scenario->>Logger: Инициализировать лог
    Scenario->>Checker: Проверить, требует ли файл обработку
    alt Требует обработку
        Checker->>Checker: Выполнить проверку (UUID или XML)
        Checker->>Logger: Логировать результат
        alt Обнаружена ошибка
            Checker-->>Scenario: Выброс исключения
            Scenario-->>Client: Ошибка
        else Успех
            Scenario-->>Client: Истина
        end
    else Не требует обработку
        Scenario-->>Client: Ложь
    end

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 минут

  • Оба модуля следуют одинаковому паттерну с экспортированными функциями и вспомогательными процедурами
  • Логика проверки относительно прямолинейна: фильтрация типов файлов, обработка с логированием, выброс исключений при ошибках
  • Рекомендуется внимание на корректность regex-выражений для извлечения UUID и обработку исключений при чтении XML

Poem

🐰 Новые сценарии скачут в исходник,
Проверяя UUID — помощник-помощник!
XML валидируют с радостью, крутя,
Логируют ошибки, не бросив дежурства!
Порядок в коде, как в кроличьей норке,
Теперь всё работает с чистой улыбкой! 🌟

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed Заголовок соответствует основному изменению: добавлен новый сценарий ПроверкаКорректностиXML, что точно отражено в названии. Однако в PR фактически добавлены два сценария, и заголовок упоминает только один из них.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Nov 06 '25 11:11 coderabbitai[bot]