У меня есть приложение Spring Boot, которое подключается к 2 базам данных. У меня есть тесты на огурец, которые проверяют различные конечные точки приложения. Я могу успешно выполнить тесты с использованием конвейера Jenkins в среде разработки. Учетные данные для входа в базу данных использует простой тест, который находится в файле свойств. Когда я пытаюсь запустить те же тесты в среде QA, в которой для подключения к базе данных используется шифр пароля, три из 15 тестов не пройдены, поскольку в имени пользователя и пароле отказано:
springframework.jdbc.CannotGetJdbcConnectionException: не удалось получить соединение JDBC;вложенным исключением является java.sql.SQLException: ORA-01017: неверное имя пользователя / пароль;вход в систему запрещен
3 неудачных теста вставляют или удаляют. Я проверил учетные данные, и у них есть разрешение на выполнение этих задач. Я могу запустить тесты на огурец локально и указать его на базу данных QA, используя шифр пароля, и они успешно пройдут тест.
В файле Jenkins мы задаем имя пользователя и пароль следующим образом:
environment {
LHL_DB_LOGIN_L4 = credentials('LHL_db')
TMS_DB_LOGIN_L4 = credentials('l4_db')
server = ''
fileName = ''
fileName2 = ''
}
sh """#!/bin/bash
echo "Run Cucumber "
export tms_db_user="$TMS_DB_LOGIN_L4_USR"
export tms_db_pw="$TMS_DB_LOGIN_L4_PSW"
export lhl_db_user="$LHL_DB_LOGIN_L4_USR"
export lhl_db_pw="$LHL_DB_LOGIN_L4_PSW"
export SPRING_PROFILES_ACTIVE=cucumberL4
sleep 30
./gradlew cucumberTest --info
"""
}
Эти тесты - первые 3 теста. Но последние 12 успешны. Итак, учетные данные работают, но не для вставки и удаления. Но эти же учетные данные работают, когда НЕ используются в файле Jenkins. (работает локально) Файл Jenkins работает для среды разработки.