-
Notifications
You must be signed in to change notification settings - Fork 35
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
13 changed files
with
285 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,4 +7,6 @@ coverage/ | |
*.ospx | ||
tests/fixtures/ПараметрыТестирования.txt | ||
|
||
oscript_modules | ||
oscript_modules | ||
tests_bdd.xml | ||
tests.xml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
[submodule "tools/docker/onec-full"] | ||
path = tools/docker/onec-full | ||
url = https://github.com/TheDemonCat/onec-full.git | ||
[submodule "tools/docker/onec-server"] | ||
path = tools/docker/onec-server | ||
url = https://github.com/TheDemonCat/onec-server.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
pipeline { | ||
agent { label 'docker' } | ||
|
||
post { | ||
always { | ||
script{ | ||
def secrets = [ | ||
[path: "DevOps/RELEASE_VERSIONS", engineVersion: 2, secretValues: [ | ||
[envVar: 'ONEC_VERSION', vaultKey: 'ONEC'] | ||
]], | ||
[path: "DevOps/ONEC_RELEASE", engineVersion: 2, secretValues: [ | ||
[envVar: 'ONEC_USERNAME', vaultKey: 'user'], | ||
[envVar: 'ONEC_PASSWORD', vaultKey: 'password']]] | ||
] | ||
withVault([configuration: [timeout: 60], vaultSecrets: secrets ]){ | ||
sh "docker-compose --project-name $BUILD_TAG --file tools/docker/onec/docker-compose.yml down" | ||
} | ||
} | ||
junit allowEmptyResults: true, testResults: '**/tests*.xml' | ||
} | ||
} | ||
|
||
options { | ||
buildDiscarder(logRotator(numToKeepStr: '10')) | ||
timeout(time: 90, unit: 'MINUTES') | ||
timestamps() | ||
} | ||
|
||
environment { | ||
ONEC_VERSION = vault path: "DevOps/RELEASE_VERSIONS", key: 'ONEC' | ||
} | ||
|
||
stages { | ||
|
||
stage('onec prepare') { | ||
steps { | ||
script{ | ||
|
||
def secrets = [ | ||
[path: "DevOps/ONEC_RELEASE", engineVersion: 2, secretValues: [ | ||
[envVar: 'ONEC_USERNAME', vaultKey: 'user'], | ||
[envVar: 'ONEC_PASSWORD', vaultKey: 'password']]] | ||
] | ||
withVault([configuration: [timeout: 60], vaultSecrets: secrets ]){ | ||
sh 'docker-compose --file tools/docker/onec/docker-compose.yml pull' | ||
sh "docker-compose --project-name $BUILD_TAG --file tools/docker/onec/docker-compose.yml up -d" | ||
} | ||
} | ||
} | ||
} | ||
|
||
stage('BDD testing') { | ||
steps { | ||
echo 'Starting to build docker image' | ||
script { | ||
def secrets = [ | ||
[path: "infastructure/gitlab", engineVersion: 2, secretValues: [ | ||
[envVar: 'CI_BOT_TOKEN', vaultKey: 'ci-bot'] | ||
]]] | ||
withVault([configuration: [timeout: 60], vaultSecrets: secrets ]){ | ||
withDockerContainer(args: "--network ${BUILD_TAG}_onec-net", image: 'registry.oskk.1solution.ru/docker-images/onec-oscript:8.3.14.1993-1.3.0') { | ||
sh '''1bdd exec -junit-out tests_bdd.xml ./features ''' | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
stage('TDD testing') { | ||
steps { | ||
echo 'Starting to build docker image' | ||
script { | ||
def secrets = [ | ||
[path: "infastructure/gitlab", engineVersion: 2, secretValues: [ | ||
[envVar: 'CI_BOT_TOKEN', vaultKey: 'ci-bot'] | ||
]]] | ||
withVault([configuration: [timeout: 60], vaultSecrets: secrets ]){ | ||
withDockerContainer(args: "--network ${BUILD_TAG}_onec-net", image: 'registry.oskk.1solution.ru/docker-images/onec-oscript:8.3.14.1993-1.3.0') { | ||
sh '1testrunner -runall ./tests xddReportPath .' | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} | ||
} |
69 changes: 69 additions & 0 deletions
69
features/integration/step_definitions/ВзаимодействиеСКластером.os
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
#Использовать "../../../src" | ||
|
||
// Реализация шагов BDD-фич/сценариев c помощью фреймворка https://github.com/artbear/1bdd | ||
|
||
Перем БДД; //контекст фреймворка 1bdd | ||
|
||
// Метод выдает список шагов, реализованных в данном файле-шагов | ||
Функция ПолучитьСписокШагов(КонтекстФреймворкаBDD) Экспорт | ||
БДД = КонтекстФреймворкаBDD; | ||
|
||
ВсеШаги = Новый Массив; | ||
|
||
ВсеШаги.Добавить("ЯВызываюФункциюСозданияИнформационнойБазыСИменемВКластере"); | ||
|
||
Возврат ВсеШаги; | ||
КонецФункции | ||
|
||
// Реализация шагов | ||
|
||
// Процедура выполняется перед запуском каждого сценария | ||
Процедура ПередЗапускомСценария(Знач Узел) Экспорт | ||
Лог = Служебный.Лог(); | ||
|
||
Лог.УстановитьУровень(УровниЛога.Отладка); | ||
|
||
КонецПроцедуры | ||
|
||
// Процедура выполняется после завершения каждого сценария | ||
Процедура ПослеЗапускаСценария(Знач Узел) Экспорт | ||
|
||
КонецПроцедуры | ||
|
||
//получаю список информационных баз | ||
Процедура ПолучаюСписокИнформационныхБаз() Экспорт | ||
ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ПолучаюСписокИнформационныхБаз> не реализован", "Не реализовано."); | ||
КонецПроцедуры | ||
|
||
//в списке информационных баз существует база с именем "IRAC_TEST" | ||
Процедура ВСпискеИнформационныхБазСуществуетБазаСИменем(Знач ПарамСтрока1) Экспорт | ||
ВызватьИсключение Новый ИнформацияОбОшибке("Шаг <ВСпискеИнформационныхБазСуществуетБазаСИменем> не реализован", "Не реализовано."); | ||
КонецПроцедуры | ||
|
||
//Я вызываю функцию создания информационной базы с именем "IRAC_TEST" в кластере "server" | ||
Процедура ЯВызываюФункциюСозданияИнформационнойБазыСИменемВКластере(Знач ИмяБазы, Знач АдресКластера) Экспорт | ||
|
||
АгентКластера = Новый УправлениеКластером1С(, АдресКластера); | ||
|
||
Кластеры = АгентКластера.Кластеры(); | ||
|
||
Кластер = Кластеры.Получить(АдресКластера); | ||
|
||
ИБ = Кластер.ИнформационныеБазы(); | ||
|
||
ПараметрыИБ = Новый Структура(); | ||
|
||
ПараметрыИБ.Вставить("ТипСУБД" , Перечисления.ТипыСУБД.PostgreSQL); | ||
ПараметрыИБ.Вставить("АдресСервераСУБД" , "db"); | ||
ПараметрыИБ.Вставить("ИмяБазыСУБД" , ИмяБазы); | ||
ПараметрыИБ.Вставить("ИмяПользователяБазыСУБД" , "postgres"); | ||
ПараметрыИБ.Вставить("ПарольПользователяБазыСУБД" , "password"); | ||
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена", Перечисления.СостоянияВыключателя.Выключено); | ||
ПараметрыИБ.Вставить("ВыдачаЛицензийСервером" , Перечисления.ПраваДоступа.Разрешено); | ||
|
||
ИБ.ОбновитьДанные(Истина); | ||
КоличествоИБ = ИБ.Количество(); | ||
|
||
ИБ.Добавить(ИмяБазы, , Истина, ПараметрыИБ); | ||
|
||
КонецПроцедуры |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
|
||
# language: ru | ||
|
||
Функционал: Взаимодействие с кластером серверов | ||
Как Администратор кластера | ||
Я хочу програмно управлять кластером серверов | ||
Чтобы что бы автоматизировать развертывание инфраструктуры 1С | ||
|
||
Сценарий: Создание информационной базы | ||
Когда Я вызываю функцию создания информационной базы с именем "IRAC_TEST1" в кластере "ras" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
#Использовать "../src" | ||
|
||
АдминПарам = Новый Структура("Администратор, Пароль", "admin", "q2w3e4r5"); | ||
Админка = Новый УправлениеКластером1С(, , АдминПарам); | ||
Админка.Лог().УстановитьУровень(УровниЛога.Отладка); | ||
|
||
СписокИБ = Админка.Кластеры().Список()[0].ИнформационныеБазы().Список(); | ||
|
||
НовыеПараметрыИБ = Новый Структура(); | ||
НовыеПараметрыИБ.Вставить("БлокировкаСеансовВключена", Перечисления.СостоянияВыключателя.Включено); | ||
|
||
Для Каждого ТекИб Из СписокИБ Цикл | ||
Если ТекИб.Имя() = "DEV_TEST" Тогда | ||
ТекИБ.УстановитьАдминистратора("admin", "test"); | ||
ТекИб.Изменить(НовыеПараметрыИБ); | ||
КонецЕсли; | ||
// Сообщить(ТекИБ.Имя()); | ||
КонецЦикла; |
Submodule onec-server
added at
2b93ba
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
version: '3.7' | ||
|
||
services: | ||
server: | ||
build: | ||
context: ./../onec-server | ||
dockerfile: Dockerfile | ||
args: | ||
ONEC_USERNAME: ${ONEC_USERNAME} | ||
ONEC_PASSWORD: ${ONEC_PASSWORD} | ||
VERSION: ${ONEC_VERSION} | ||
depends_on: | ||
- db | ||
hostname: server | ||
expose: | ||
- "1540" | ||
extra_hosts: | ||
- "server:127.0.0.1" | ||
networks: | ||
onec-net: | ||
|
||
db: | ||
image: silverbulleters/ya-docker-postgresql-1c | ||
environment: | ||
- PG_PASSWORD=password | ||
- DEBUG=true | ||
networks: | ||
onec-net: | ||
|
||
ras: | ||
build: | ||
context: . | ||
dockerfile: ./../onec-full/Dockerfile | ||
args: | ||
ONEC_USERNAME: ${ONEC_USERNAME} | ||
ONEC_PASSWORD: ${ONEC_PASSWORD} | ||
VERSION: ${ONEC_VERSION} | ||
entrypoint: /opt/1C/v8.3/x86_64/ras | ||
command: "cluster server:1540" | ||
expose: | ||
- "1545" | ||
networks: | ||
onec-net: | ||
|
||
networks: | ||
onec-net: | ||
external: false |