Skip to content
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

YAXUnit, вторая попытка #114

Merged
merged 27 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
10310dd
Yaxunit
kozstlink Jan 22, 2023
37a219f
Доработка Yaxunit (#13)
ovcharenko-di Jul 6, 2023
b00202d
загрузка расширений с отключением безопасного режима (#14)
ovcharenko-di Jul 7, 2023
a06a5e4
upd README.md (#16)
ovcharenko-di Jul 16, 2023
8dc051b
Исправление замечаний к PR в upstream (#17)
ovcharenko-di Jul 17, 2023
a7523fb
tailor the code to the current develop
ovcharenko-di Mar 18, 2024
76c18b4
add vrunnerSettings to initInfoBase
ovcharenko-di Mar 18, 2024
13ce9cf
upd README
ovcharenko-di Mar 18, 2024
9f0a922
подключение расширений на разных шагах
ovcharenko-di Mar 19, 2024
6f422b1
fix pipeline
ovcharenko-di Mar 19, 2024
5dba901
fix pipeline
ovcharenko-di Mar 19, 2024
d76c802
fix pipeline again
ovcharenko-di Mar 19, 2024
6efdf8e
fix conf reader
ovcharenko-di Mar 19, 2024
8cb9103
fix def
ovcharenko-di Mar 19, 2024
63f0650
fix add this
ovcharenko-di Mar 19, 2024
a2ff504
simplify and fix
ovcharenko-di Mar 19, 2024
fef2c1a
revert static
ovcharenko-di Mar 19, 2024
512fd5e
fix empty vrunnerSettings
ovcharenko-di Mar 19, 2024
876009d
unzipInfobase before loadExtensions
ovcharenko-di Mar 19, 2024
c5f0b22
add steps {}
ovcharenko-di Mar 19, 2024
ec46250
stash and unstash extensions
ovcharenko-di Mar 19, 2024
3f6ec51
bump mockito, add tests, fix errors
ovcharenko-di Mar 28, 2024
e92dc31
add safe unstash
ovcharenko-di Apr 9, 2024
a7eca18
Merge branch 'develop' into yaxunit-pr
ovcharenko-di May 7, 2024
1e8a4ef
fix and add more tests
ovcharenko-di May 7, 2024
18c2ade
upd README
ovcharenko-di May 8, 2024
317d39f
Update README.md
ovcharenko-di May 8, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
1. Трансформация кода из формата конфигуратора в формат EDT.
1. Трансформация кода из формата EDT в формат конфигуратора.
1. Запуск BDD сценариев с сохранением результатов в формате Allure.
1. Запуск юнит-тестов с помощью фреймворка YAXUnit с сохранением результатов в формате jUnit и Allure.
ovcharenko-di marked this conversation as resolved.
Show resolved Hide resolved
1. Запуск синтаксического контроля средствами конфигуратора и сохранение результатов в виде отчета jUnit.
1. Запуск валидации проекта средствами EDT и конвертация отчета в формате generic issues.
1. Запуск статического анализа для SonarQube.
Comment on lines 36 to 42
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [8-8]

Возможно, найдена орфографическая ошибка. Правильно будет: "иметь схожий и контролируемый пайплайн для всех проектов; дать пользователю".


📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [13-13]

Это предложение не начинается с заглавной буквы. Рекомендуется начать с заглавной для единообразия стиля документации.


📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [45-45]

Возможно, найдена орфографическая ошибка. Правильно будет: "Конфигурирование логгера запускаемых oscript-приложений".


📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [67-67]

Возможно, найдена орфографическая ошибка. Правильно будет: "Да, вот и весь пайплайн. Конфигурирование через json".


📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [69-69]

Возможно, найдена орфографическая ошибка. Правильно будет: "Внешний вид пайплайна в интерфейсе Blue Ocean".


📝 NOTE
This review was outside the diff hunks, and no overlapping diff hunk was found. Original lines [124-124]

Возможно, найдена орфографическая ошибка. Правильно будет: "минутах (от 10 до 240 в зависимости от 'тяжести' шага сборки), но может быть переопределен".

Expand Down Expand Up @@ -67,7 +68,8 @@ pipeline1C()

## Внешний вид пайплайна в интерфейсе Blue Ocean

![image](https://github.com/firstBitMarksistskaya/jenkins-lib/assets/80944823/a8d5bdff-3267-4744-a613-8c3d445b767f)
![image](https://github.com/ovcharenko-di/jenkins-lib/assets/24920942/19eabbc3-e33e-44f5-8f23-142f44817628)

nixel2007 marked this conversation as resolved.
Show resolved Hide resolved

## Конфигурирование

Expand Down Expand Up @@ -107,7 +109,7 @@ pipeline1C()

* Общее:
* В качестве маски версии платформы используется строка "8.3" (`v8version`).
* По-умолчанию версия модуля EDT не заполнена, т.к. в случае единственной версии для утилиты ring дополнительного указания не требуется (`edtVersion`).
* По умолчанию версия модуля EDT не заполнена, т.к. в случае единственной версии для утилиты ring дополнительного указания не требуется (`edtVersion`).
* Исходники конфигурации ожидаются в каталоге `src/cf` (`srcDir`).
* Формат исходников - выгрузка из Конфигуратора (`sourceFormat`).
* Ветка по умолчанию (для комбинированного режима загрузки конфигурации) - "main" (`defaultBranch`).
Expand All @@ -131,6 +133,8 @@ pipeline1C()
* Если в настройках шага инициализации не заполнен массив дополнительных шагов миграции (`initInfobase` -> `additionalInitializationSteps`), но в каталоге `tools` присутствуют файлы с именами, удовлетворяющими шаблону `vrunner.init*.json`, то автоматически выполняется запуск `vrunner vanessa` с передачей найденных файлов в качестве значения настроек (параметр `--settings`) в порядке лексикографической сортировки имен файлов.
* BDD:
* Если в конфигурационном файле проекта не заполнена настройка `bdd` -> `vrunnerSteps`, то автоматически выполняется запуск `vrunner vanessa --settings tools/vrunner.json`.
* YAXUnit:
* Если в репозитории существует файл `tools/yaxunit.json`, то он будет передан в качестве параметра для YAXUnit при запуске тестов. Если файла с таким именем нет, то в YAXUnit будет передан файл из текущей библиотеки `resources/yaxunit.json`. Он содержит минимально необходимые параметры и настроен на поиск сценариев в расширении с именем `YAXUnit`.
* Дымовые тесты:
* Если в репозитории существует файл `tools/vrunner.json`, то запуск дымовых тестов будет выполняться с передачей файла в параметры запуска `vrunner xunit --settings tools/vrunner.json` (`smoke` -> `vrunnerSettings`).
* Если установка локальных зависимостей `opm` установит пакет `add`, то будет использоваться обработка `xddTestRunner.epf` из локальных зависимостей.
Expand Down Expand Up @@ -167,7 +171,7 @@ pipeline1C()
* Telegram:
* Уведомления о результатах сборки по умолчанию рассылаются всегда (`notifications` -> `telegram` -> `onAlways`, `onFailure`, `onUnstable`, `onSuccess`).

## Конфигурирование загрузки расширений
## Настройка загрузки расширений

Если у вас есть расширения которые необходимо загрузить в базу для проведения тестов и проверок, это можно сделать на этапе подготовки базы.
* При загрузке из исходников расширения должны быть в том же формате(edt или конфигуратора) что и основная конфигурация.
Expand Down Expand Up @@ -199,4 +203,10 @@ pipeline1C()
}
]
}
```
```

## Настройка шага YAXUnit

* Добавить расширение `YAXUnit` и дополнительные расширения с тестами можно в `jobConfiguration.json` -> `initInfobase` -> `extensions`. Они будут загружены при инициализации ИБ.
* Если ваши тесты размещены в отдельных расширениях, скопируйте файл `./resources/yaxunit.json` из текущей библиотеки в свой репозиторий (`./tools/yaxunit.json`) и перечислите в нем имена ваших расширений.
* Если используется собственный файл `tools/yaxunit.json`, то значение параметра reportPath в нем должно быть равно `./build/out/yaxunit/junit.xml`
5 changes: 4 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ dependencies {
testRuntimeOnly("org.junit.jupiter", "junit-jupiter-engine", junitVersion)

testImplementation("org.assertj", "assertj-core", "3.15.0")
testImplementation("org.mockito", "mockito-core", "3.3.3")
testImplementation("org.mockito", "mockito-core", "5.11.0")

testImplementation("org.slf4j", "slf4j-api", slf4jVersion)
testImplementation("org.slf4j", "slf4j-simple", slf4jVersion)
Expand All @@ -61,6 +61,7 @@ dependencies {

integrationTestImplementation("org.slf4j", "slf4j-api", slf4jVersion)
integrationTestImplementation("org.slf4j", "slf4j-simple", slf4jVersion)

}

tasks.test {
Expand Down Expand Up @@ -105,6 +106,8 @@ sharedLibrary {
dependency("org.6wind.jenkins", "lockable-resources", "2.7")
dependency("ru.yandex.qatools.allure", "allure-jenkins-plugin", "2.28.1")
val declarativePluginsVersion = "1.6.0"


dependency("org.jenkinsci.plugins", "pipeline-model-api", declarativePluginsVersion)
dependency("org.jenkinsci.plugins", "pipeline-model-declarative-agent", "1.1.1")
dependency("org.jenkinsci.plugins", "pipeline-model-definition", declarativePluginsVersion)
Expand Down
8 changes: 8 additions & 0 deletions resources/globalConfiguration.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@
"syntaxCheck": false,
"edtValidate": false,
"smoke": false,
"yaxunit": false,
"email": false,
"telegram": false
},
"timeout": {
"smoke": 240,
"yaxunit": 240,
"bdd": 120,
"getBinaries": 60,
"createInfoBase": 60,
Expand Down Expand Up @@ -80,6 +82,12 @@
"publishToAllureReport": false,
"publishToJUnitReport": true
},
"yaxunit": {
"vrunnerSettings": "./tools/vrunner.json",
"configPath": "./tools/yaxunit.json",
"publishToAllureReport": false,
"publishToJUnitReport": true
},
"resultsTransform": {
"removeSupport": true,
"supportLevel": 0
Expand Down
Loading