liquibase.harness.base.BaseLevelTestHelper.groovy Maven / Gradle / Ivy
package liquibase.harness.base
import groovy.transform.ToString
import groovy.transform.builder.Builder
import liquibase.database.Database
import liquibase.harness.config.DatabaseUnderTest
import liquibase.harness.config.TestConfig
import liquibase.harness.util.DatabaseConnectionUtil
import liquibase.harness.util.FileUtils
class BaseLevelTestHelper {
final static String baseChangelogPath = "liquibase/harness/base/changelogs"
static List buildTestInput() {
List inputList = new ArrayList<>()
DatabaseConnectionUtil databaseConnectionUtil = new DatabaseConnectionUtil()
for (DatabaseUnderTest databaseUnderTest : databaseConnectionUtil
.initializeDatabasesConnection(TestConfig.instance.getFilteredDatabasesUnderTest())) {
for (def changeLogEntry : FileUtils.resolveInputFilePaths(databaseUnderTest, baseChangelogPath, "sql").entrySet()) {
inputList.add(TestInput.builder()
.databaseName(databaseUnderTest.name)
.url(databaseUnderTest.url)
.dbSchema(databaseUnderTest.dbSchema)
.username(databaseUnderTest.username)
.password(databaseUnderTest.password)
.version(databaseUnderTest.version)
.pathToChangeLogFile(changeLogEntry.value)
.change(changeLogEntry.key)
.database(databaseUnderTest.database)
.build())
}
}
return inputList
}
@Builder
@ToString(includeNames = true, includeFields = true, includePackage = false, excludes = 'database,password')
static class TestInput {
String databaseName
String version
String username
String password
String url
String dbSchema
String change
String pathToChangeLogFile
Database database
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy