Skip to content

Commit 8b01773

Browse files
committed
Update EventStoreDBRepository to use a consistent stream name format and bump kcqrs-core/test versions to 0.2.10-SNAPSHOT
1 parent ea9aec8 commit 8b01773

3 files changed

Lines changed: 12 additions & 10 deletions

File tree

gradle/libs.versions.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
kotlin = "2.1.20"
77
kotlinxCoroutines = "1.10.2"
88

9-
kcqrs-core = "0.2.9"
10-
kcqrs-test = "0.2.9"
9+
kcqrs-core = "0.2.10-SNAPSHOT"
10+
kcqrs-test = "0.2.10-SNAPSHOT"
1111

1212
kurrentdb-client = "1.0.3"
1313
jacksonModuleKotlin = "2.16.1"

src/main/kotlin/io/github/abaddon/kcqrs/eventstoredb/eventstore/EventStoreDBRepository.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@ import io.github.abaddon.kcqrs.core.IIdentity
66
import io.github.abaddon.kcqrs.core.domain.messages.events.IDomainEvent
77
import io.github.abaddon.kcqrs.core.helpers.KcqrsLoggerFactory.log
88
import io.github.abaddon.kcqrs.core.persistence.EventStoreRepository
9-
import io.kurrent.dbclient.*
9+
import io.kurrent.dbclient.AppendToStreamOptions
10+
import io.kurrent.dbclient.KurrentDBClient
11+
import io.kurrent.dbclient.ReadStreamOptions
12+
import io.kurrent.dbclient.ResolvedEvent
13+
import io.kurrent.dbclient.StreamNotFoundException
14+
import io.kurrent.dbclient.StreamState
1015
import kotlinx.coroutines.flow.Flow
1116
import kotlinx.coroutines.flow.asFlow
1217
import java.security.InvalidParameterException
@@ -100,7 +105,7 @@ class EventStoreDBRepository<TAggregate : IAggregate>(
100105

101106
override fun aggregateIdStreamName(aggregateId: IIdentity): String {
102107
check(streamName.isNotEmpty()) { throw InvalidParameterException("Cannot get streamName empty") }
103-
return streamName
108+
return "$streamName.${aggregateId.valueAsString()}"
104109
}
105110

106111
override suspend fun persist(

src/test/kotlin/io/github/abaddon/kcqrs/eventstoredb/eventstore/EventStoreDBRepositoryTest.kt

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import kotlin.test.assertEquals
1717
@ExperimentalCoroutinesApi
1818
internal class EventStoreDBRepositoryTest : WithEventStoreDBContainer() {
1919
companion object {
20-
private const val STREAM_NAME_PREFIX = "CounterAggregateRoot"
20+
private const val STREAM_NAME = "CounterAggregateRoot"
2121
}
2222

2323
private val testDispatcher = UnconfinedTestDispatcher()
@@ -29,10 +29,8 @@ internal class EventStoreDBRepositoryTest : WithEventStoreDBContainer() {
2929

3030
@BeforeEach
3131
fun setUp() {
32-
// Use a unique stream name for each test to prevent event pollution
33-
val uniqueStreamName = "$STREAM_NAME_PREFIX-${UUID.randomUUID()}"
3432
val connectionString = "kurrentdb://127.0.0.1:${container.getMappedPort(2113)}?tls=false&tlsVerifyCert=false"
35-
repositoryConfig = EventStoreDBRepositoryConfig(EventStoreDBConfig(connectionString), uniqueStreamName, 500, 500)
33+
repositoryConfig = EventStoreDBRepositoryConfig(EventStoreDBConfig(connectionString), STREAM_NAME, 500, 500)
3634
repository = EventStoreDBRepository(
3735
repositoryConfig,
3836
{ CounterAggregateRoot(it as CounterAggregateId) }
@@ -143,8 +141,7 @@ internal class EventStoreDBRepositoryTest : WithEventStoreDBContainer() {
143141
val streamName = repository.aggregateIdStreamName(aggregateId)
144142

145143
// Then
146-
// Stream name should not contain the aggregate ID
147-
assertEquals(repositoryConfig.streamName, streamName)
144+
assertEquals("$STREAM_NAME.${aggregateId.valueAsString()}", streamName)
148145
}
149146

150147
@Test

0 commit comments

Comments
 (0)