Commit Graph

65 Commits

Author SHA1 Message Date
1b0680241d test: add RabbitMQ test 2025-04-14 23:40:20 +02:00
0aa13b9299 Fix: close all connections after each tests 2025-04-14 23:40:19 +02:00
cb3ec3f96c Fix tests 2025-04-14 23:40:19 +02:00
0bfeef8a91 fix ProjectionSnapshotRepositoryInMemory.excludeTheHeadBySize 2025-04-14 23:40:18 +02:00
fd954e631d fix testApplicationWithConfig 2025-04-14 23:40:17 +02:00
37eaf7c8e5 disable redis 2025-04-14 23:40:15 +02:00
5ef49c1585 missing runBlocking 2025-04-14 23:40:14 +02:00
d55260a286 missing execute on prepareStatement 2025-04-14 23:40:14 +02:00
e8fb80b646 create BusInRabbitMQ 2025-04-14 23:40:12 +02:00
2fb4c778fd move subscribeToBus in configureGameListener function, and use it on test 2025-04-14 23:40:11 +02:00
2709366a53 optimise test 2025-04-14 23:40:09 +02:00
7d030204f6 use GameEventStoreInPostgresql instead of InMemory 2025-04-14 23:40:09 +02:00
d9e05e6d9a create EventStreamInPostgresql 2025-04-14 23:40:08 +02:00
a427bf88c7 create EventStreamInMemoryTest 2025-04-14 23:40:08 +02:00
933907b608 testApplication 2025-04-14 23:40:06 +02:00
2ebd293900 connection to postgresql 2025-04-14 23:40:04 +02:00
3b9616aa67 refactor testApplication 2025-04-14 23:40:03 +02:00
442379dc49 fix and improve ProjectionSnapshotRepositoryInRedis 2025-04-14 23:40:02 +02:00
22792a0427 create GameStateRepositoryInRedis 2025-04-14 23:40:01 +02:00
9670a000f0 create ProjectionSnapshotRepositoryInRedis 2025-04-14 23:40:00 +02:00
dd7cfb943e update jedis config 2025-04-14 23:39:59 +02:00
8e732b0f9e Configure redis for ktor/koin 2025-04-14 23:39:58 +02:00
6d2043d9fe Install redis with docker 2025-04-14 23:39:57 +02:00
c28bc00679 Create PlayerNotificationListenerTest 2025-04-14 23:39:57 +02:00
c762f31449 Move tests 2025-04-14 23:39:56 +02:00
8c1eabb9f5 Projection was now built on listener events
Create ProjectionBus and use it with listeners
add EventStream::getByVersion
2025-04-14 23:39:56 +02:00
cd320b31da Move projection interface 2025-04-14 23:39:54 +02:00
c3155da23c Create route to list all the games 2025-04-14 23:39:52 +02:00
8074881d57 Move GameStateRepository 2025-04-14 23:39:51 +02:00
1a96c68521 Add AggregateID for the PlayerNotificationEventListener and CommandHandler 2025-04-14 23:39:50 +02:00
0374712824 add test on GameState for canBePlayThisCard & isReady 2025-04-14 23:39:50 +02:00
48ac4156bd change cardOnCurrentStack on lastCardPlayer 2025-04-14 23:39:49 +02:00
3434d43fc2 move secrete into config file 2025-04-14 23:39:48 +02:00
4adfc6467c Split configs 2025-04-14 23:39:48 +02:00
769d104040 Move file and add interface to improve Archi Hexa 2025-04-14 23:39:47 +02:00
ca95344ca9 Send Success notification when Command is executed
extract Action of the Commands
simplify somme classes
2025-04-14 23:39:45 +02:00
b4234a9b37 update ktlint rules 2025-04-14 23:39:44 +02:00
492981bed0 Split EventStream and EventStore 2025-04-14 23:39:43 +02:00
91767e3747 Improve concurrence of ProjectionSnapshotRepositoryInMemory and GameEventHandler 2025-04-14 23:39:42 +02:00
286dedac76 extract projection snapshot logic
implement GameStateRepositoryTest
add lambda to the GameEventHandler.handle{} to set the version

add VersionBuilder
add version to the events
add creation date to the events
rename gameId to aggregateId
add EventHandler interface
2025-04-14 23:39:41 +02:00
28075feff2 create GameCommandRunner to extract business logic 2025-04-14 23:39:41 +02:00
a2756d7fdb Rename listeners 2025-04-14 23:39:40 +02:00
c84aa7e0c1 CommandStreamChannel block the duplicate call
add GameCommandHandlerTest
Create a CommandStreamChannelBuilder to inject maxCacheTime
Add missing empty disabled test
fix EventStreamInMemory.readAll
2025-04-14 23:39:40 +02:00
0fbea7903a create a FrameChannelConverter 2025-04-14 23:39:39 +02:00
c84562afe6 Move serializer 2025-04-14 23:39:39 +02:00
6028846828 Improve concurrency
Fix GameState.currentPlayerTurn and nextPlayer
Add ItsTheTurnOfNotification
Improve test
2025-04-14 23:39:38 +02:00
19e425d684 Create GameStateRepository
Use GameState.apply() to build Projection
Create GameEventHandler
Add PlayerWinEvent
2025-04-14 23:39:38 +02:00
3080e515d6 simplify tests 2025-04-14 23:39:37 +02:00
51d857513c Create test for complete game
create notifications for reply the players
implement notifications on GameEventPlayerNotificationListener
add priority to the eventbus.subscribe()
improve JWT creation
update libs koin + ktor
remove output of GameCommandStream
improve logs
create a function disableShuffleDeck to disable the shuffle of the deck (for tests)
2025-04-14 23:39:36 +02:00
99f0760d3c Clean and fix 2025-04-14 23:39:36 +02:00