тесты на огурец не могут получить доступ к базе данных при запуске в конвейере jenkins - PullRequest
0 голосов
/ 05 ноября 2019

У меня есть приложение 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 работает для среды разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...