-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Доработка сборки, добавление сценарных автотестов #171
Conversation
Обзор измененийWalkthroughДанный pull request включает в себя несколько значимых изменений в конфигурации проекта. Удален workflow SonarQube, добавлены новые feature-файлы для подсистем предопределенных значений и управления интеграциями. Обновлены конфигурационные файлы, такие как Changes
Possibly related PRs
📜 Recent review detailsConfiguration used: .coderabbit.yaml 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Nitpick comments (4)
tools/vrunner.json (1)
9-9
: Рекомендуется параметризовать URL отладчикаЖестко закодированный URL отладчика
http://localhost:1550
может вызвать проблемы при развертывании в различных средах.Предлагаю вынести URL в отдельную переменную окружения:
- "--additional": "/debug -http -attach /debuggerURL http://localhost:1550" + "--additional": "/debug -http -attach /debuggerURL %DEBUG_URL%"- "--testclient-additional": "/debug -http -attach /debuggerURL http://localhost:1550" + "--testclient-additional": "/debug -http -attach /debuggerURL %DEBUG_URL%"Also applies to: 17-17
features/Подсистема предопределенных значений.feature (1)
17-19
: Рекомендуется параметризовать тестовые данныеЖестко закодированные значения в таблице данных лучше вынести в отдельный источник тестовых данных для упрощения поддержки тестов.
Рекомендуется использовать механизм подстановки параметров или внешний файл с тестовыми данными.
features/Подсистема управления интеграциями.feature (2)
21-33
: Рекомендуется добавить шаги проверки для настроек интеграцииПосле заполнения настроек интеграции рекомендуется добавить шаги проверки корректности заполненных данных:
- Проверка сохранения строки подключения
- Проверка выбранного типа интеграции
- Проверка связи с интегрируемой системой
43-60
: Рекомендуется усилить проверки интеграционного потокаДля повышения надежности тестирования рекомендуется:
- Добавить проверку уникальности точки входа
- Добавить валидацию формата точки входа
- Проверить связь с настройкой интеграции после сохранения
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (10)
.github/workflows/sonar.yml
(0 hunks)features/Подсистема предопределенных значений.feature
(1 hunks)features/Подсистема управления интеграциями.feature
(1 hunks)jobConfiguration.json
(2 hunks)src/cf/Catalogs/пбп_ИнтеграционныеПотоки/Forms/ФормаСписка/Ext/Form.xml
(0 hunks)src/cf/Catalogs/пбп_ИсторияИнтеграции/Forms/ФормаСписка/Ext/Form.xml
(1 hunks)src/cf/Catalogs/пбп_НастройкиИнтеграции/Forms/ФормаСписка/Ext/Form.xml
(0 hunks)tools/VBParams.json
(1 hunks)tools/vrunner.json
(1 hunks)tools/yaxunit.json
(1 hunks)
💤 Files with no reviewable changes (3)
- src/cf/Catalogs/пбп_ИнтеграционныеПотоки/Forms/ФормаСписка/Ext/Form.xml
- .github/workflows/sonar.yml
- src/cf/Catalogs/пбп_НастройкиИнтеграции/Forms/ФормаСписка/Ext/Form.xml
✅ Files skipped from review due to trivial changes (1)
- tools/yaxunit.json
🔇 Additional comments (4)
jobConfiguration.json (2)
42-45
: Проверьте настройки SonarQube
Убедитесь, что указанная установка SonarQube Sonar.openbsl
существует и доступна в вашей инфраструктуре CI/CD.
✅ Verification successful
Let me gather more information about SonarQube configurations in the codebase.
Настройки SonarQube корректны и соответствуют инфраструктуре проекта
Проверка показала, что:
- В проекте используется сервер SonarQube по адресу sonar.openbsl.ru (подтверждается бейджем в README.md)
- Установка "Sonar.openbsl" активно используется для анализа проекта PSSL
- В файле sonar-project.properties определены все необходимые настройки для работы с этим сервером
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск конфигураций SonarQube в проекте
rg -i "sonarqube|sonar\.openbsl" --type json
Length of output: 207
Script:
#!/bin/bash
# Поиск дополнительных упоминаний SonarQube в других файлах
rg -i "sonarqube|sonar" -g "!jobConfiguration.json" -A 3
# Поиск файлов конфигурации Jenkins
fd -e yaml -e yml -e xml -e properties "jenkins|sonar"
Length of output: 2477
13-14
: Проверьте совместимость версии EDT
Версия EDT 2024.1.3:x86_64
является достаточно новой. Необходимо убедиться в совместимости с существующими расширениями и конфигурациями.
tools/VBParams.json (1)
40-42
: Проверьте безопасность отладочного HTTP-соединения
Включение HTTP-отладки на порту 1550 может создать потенциальные уязвимости:
- Убедитесь, что порт доступен только в среде разработки
- Проверьте, что отладочный режим отключается при развертывании
✅ Verification successful
Отладочное HTTP-соединение используется только в тестовом окружении
Анализ показывает, что порт 1550 используется исключительно в конфигурационных файлах для тестирования:
- В
tools/VBParams.json
- для настройки отладки тест-клиента - В
tools/vrunner.json
- для конфигурации отладочных параметров при запуске тестов
Использование локального адреса (127.0.0.1) и ограничение контекста тестовым окружением является безопасной практикой.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Проверка использования отладочного порта в других конфигурационных файлах
rg -l "1550|http://127.0.0.1"
Length of output: 70
Script:
#!/bin/bash
# Проверяем содержимое файлов, где используется порт 1550
rg "1550|http://127.0.0.1" tools/vrunner.json tools/VBParams.json -C 5
Length of output: 1584
src/cf/Catalogs/пбп_ИсторияИнтеграции/Forms/ФормаСписка/Ext/Form.xml (1)
184-184
: Проверьте корректность сортировки после изменения поля
Замена поля сортировки на ДатаИнтеграцииВМиллисекундах требует проверки:
- Убедитесь, что все существующие записи имеют корректные значения в миллисекундах
- Проверьте правильность сортировки для старых записей
✅ Verification successful
Let me check the form element to understand how the date fields are used.
Let me check the catalog metadata to understand the field relationships better.
Let me check the catalog metadata with the correct path.
Based on the analysis of the form files, I can now provide the final response:
Изменение поля сортировки безопасно
Анализ показывает, что:
- Поле ДатаИнтеграцииВМиллисекундах синхронизировано с ДатаИнтеграции в форме элемента
- Оба поля заполняются одновременно при создании записи
- Сортировка по миллисекундам обеспечит более точное упорядочивание
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Поиск использования старого поля ДатаОбмена
rg -l "ДатаОбмена"
Length of output: 162
Script:
#!/bin/bash
# Проверяем использование обоих полей в форме элемента
rg -A 5 -B 5 "ДатаОбмена|ДатаИнтеграцииВМиллисекундах" src/cf/Catalogs/пбп_ИсторияИнтеграции/Forms/ФормаЭлемента/Ext/Form.xml
Length of output: 1320
Script:
#!/bin/bash
# Проверяем определение полей в метаданных каталога
cat src/cf/Catalogs/пбп_ИсторияИнтеграции/Ext/ObjectModule.bsl 2>/dev/null
rg -A 5 "ДатаИнтеграции|ДатаОбмена" src/cf/Catalogs/пбп_ИсторияИнтеграции/*.xml
Length of output: 1869
Script:
#!/bin/bash
# Проверяем определение полей в метаданных каталога
rg -A 5 "ДатаИнтеграции|ДатаОбмена" src/cf/Catalogs/пбп_ИсторияИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl 2>/dev/null
cat src/cf/Catalogs/пбп_ИсторияИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl 2>/dev/null
Length of output: 4086
* Дозаполнение предопределенного элемента | ||
И в поле с именем 'Значение' я ввожу текст '28' | ||
И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть' | ||
И я жду закрытия окна 'Количество дней хранения истории интеграции (Предопределенные значения) *' в течение 20 секунд |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Добавьте проверку введенного значения
После ввода значения 28
и сохранения формы отсутствует проверка корректности сохранения данных.
Рекомендуется добавить шаг проверки:
И я открываю предопределенный элемент "Количество дней хранения истории интеграции"
И элемент формы с именем "Значение" содержит текст "28"
Сценарий: проверка создания предопределенных элементов плана видов характеристик | ||
* Заполнение предопределенных из кода | ||
Дано Я открываю основную форму списка плана видов характеристик 'пбп_ПредопределенныеЗначения' | ||
Тогда открылось окно 'Предопределенные значения' | ||
И я нажимаю на кнопку с именем 'ФормаЗаполнитьПредопределенные' | ||
* Проверка наличия предопределенного элемента | ||
И в таблице "Список" я перехожу на один уровень вниз | ||
И в таблице "Список" я перехожу к строке: | ||
| 'Идентификатор настройки' | 'Код' | 'Наименование' | 'Пароль' | | ||
| 'КолДнейХраненияИсторииИнтеграции' | '000000004' | 'Количество дней хранения истории интеграции' | 'Нет' | | ||
И в таблице "Список" я активизирую поле с именем "Наименование" | ||
И в таблице "Список" я выбираю текущую строку | ||
Тогда открылось окно 'Количество дней хранения истории интеграции (Предопределенные значения)' | ||
* Дозаполнение предопределенного элемента | ||
И в поле с именем 'Значение' я ввожу текст '28' | ||
И я нажимаю на кнопку с именем 'ФормаЗаписатьИЗакрыть' | ||
И я жду закрытия окна 'Количество дней хранения истории интеграции (Предопределенные значения) *' в течение 20 секунд | ||
Тогда открылось окно 'Предопределенные значения' | ||
И Я закрываю окно 'Предопределенные значения' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Добавьте сценарии обработки ошибок
Текущий сценарий проверяет только позитивный путь выполнения. Рекомендуется добавить проверки:
- Попытка ввода некорректных значений
- Отмена сохранения изменений
- Обработка конфликтов при одновременном редактировании
Summary by CodeRabbit
Новые функции
Изменения конфигурации
vrunner.json
.Исправления