Skip to content

Commit 478de76

Browse files
Improve regex pattern and add related tests
1 parent 124cfdc commit 478de76

File tree

4 files changed

+19
-8
lines changed

4 files changed

+19
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Testcontainers Port Updater Changelog
22

33
## [Unreleased]
4+
- Improve regex pattern
45

56
## [0.1.1]
67
- Support latest IntelliJ 2022.1

src/main/kotlin/com/github/yusufugurozbek/testcontainers/port/updater/DatasourceUrlExtractor.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ package com.github.yusufugurozbek.testcontainers.port.updater
22

33
class DatasourceUrlExtractor {
44

5-
private val regex: Regex = "Database: (.*?) \\((.*?)\\)".toRegex()
5+
private val regex: Regex = "Database: (.*?)(?!\\S)".toRegex()
66

77
internal fun extract(from: String): String? {
88
val find = regex.find(from)

src/test/kotlin/com/github/yusufugurozbek/testcontainers/port/updater/DatasourceUrlExtractorTest.kt

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package com.github.yusufugurozbek.testcontainers.port.updater
22

3-
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.DATASOURCE_URL
4-
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.LOG_ENTRY
3+
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.DATASOURCE_URL_1
4+
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.DATASOURCE_URL_2
5+
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.LOG_ENTRY_1
6+
import com.github.yusufugurozbek.testcontainers.port.updater.TestConstants.LOG_ENTRY_2
57
import org.junit.jupiter.api.Assertions.assertEquals
68
import org.junit.jupiter.api.Test
79

@@ -10,8 +12,13 @@ internal class DatasourceUrlExtractorTest {
1012
private val sut = DatasourceUrlExtractor()
1113

1214
@Test
13-
fun `extractDataSourceUrl successfully extracts url if present`() {
14-
assertEquals(sut.extract(LOG_ENTRY), DATASOURCE_URL)
15+
fun `extractDataSourceUrl successfully extracts url if present with driver part`() {
16+
assertEquals(sut.extract(LOG_ENTRY_1), DATASOURCE_URL_1)
17+
}
18+
19+
@Test
20+
fun `extractDataSourceUrl successfully extracts url if present without driver part`() {
21+
assertEquals(sut.extract(LOG_ENTRY_2), DATASOURCE_URL_2)
1522
}
1623

1724
@Test
Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
package com.github.yusufugurozbek.testcontainers.port.updater
22

33
object TestConstants {
4-
const val DATASOURCE_URL = "jdbc:postgresql://localhost:55001/test"
5-
const val LOG_ENTRY =
6-
"2021-07-16 14:05:56.360 INFO [my-application,,] 33702 --- [" +
4+
const val DATASOURCE_URL_1 = "jdbc:postgresql://localhost:55001/test"
5+
const val DATASOURCE_URL_2 = "jdbc:postgresql://localhost:55001/test?loggerLevel=OFF"
6+
const val LOG_ENTRY_1 = "2021-07-16 14:05:56.360 INFO [my-application,,] 33702 --- [" +
77
" main] o.f.c.i.database.base.DatabaseType : " +
88
"Database: jdbc:postgresql://localhost:55001/test (PostgreSQL 10.17)"
9+
const val LOG_ENTRY_2 = "2021-07-16 14:05:56.360 INFO [my-application,,] 33702 --- [" +
10+
" main] o.f.c.i.database.base.DatabaseType : " +
11+
"Database: jdbc:postgresql://localhost:55001/test?loggerLevel=OFF"
912
}

0 commit comments

Comments
 (0)