Rename event to notification

This commit is contained in:
2021-01-27 01:06:43 +01:00
parent 1c644768e6
commit b54a40cef4
8 changed files with 89 additions and 133 deletions

View File

@@ -1,11 +1,5 @@
package functional
import com.fasterxml.jackson.databind.DeserializationFeature
import com.fasterxml.jackson.databind.PropertyNamingStrategies
import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.databind.module.SimpleModule
import com.fasterxml.jackson.datatype.joda.JodaModule
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.rabbitmq.client.ConnectionFactory
import fr.dcproject.application.Configuration
import fr.dcproject.component.article.ArticleForView
@@ -13,9 +7,9 @@ import fr.dcproject.component.article.ArticleRef
import fr.dcproject.component.citizen.CitizenRef
import fr.dcproject.component.follow.FollowArticleRepository
import fr.dcproject.component.follow.FollowSimple
import fr.dcproject.event.ArticleUpdate
import fr.dcproject.event.EventNotification
import fr.dcproject.event.publisher.Publisher
import fr.dcproject.notification.ArticleUpdateNotification
import fr.dcproject.notification.EventNotification
import fr.dcproject.notification.publisher.Publisher
import fr.dcproject.messages.NotificationEmailSender
import io.ktor.locations.KtorExperimentalLocationsAPI
import io.ktor.util.KtorExperimentalAPI
@@ -63,14 +57,7 @@ class EventNotificationTest : KoinTest, AutoCloseKoinTest() {
).let { emit(it) }
}
}
val mapper = jacksonObjectMapper().apply {
registerModule(SimpleModule())
propertyNamingStrategy = PropertyNamingStrategies.SNAKE_CASE
registerModule(JodaModule())
disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true)
}
/* Purge rabbit notification queues */
rabbitFactory.newConnection().createChannel().apply {
queuePurge("push")
@@ -85,17 +72,15 @@ class EventNotificationTest : KoinTest, AutoCloseKoinTest() {
followConstitutionRepo = mockk(),
notificationEmailSender = emailSender,
exchangeName = "notification_test",
mapper = mapper,
).config()
verify { rabbitFactory.newConnection() }
/* Push message */
Publisher(
mapper = mapper,
factory = rabbitFactory,
exchangeName = "notification_test",
).publish(
ArticleUpdate(
ArticleUpdateNotification(
ArticleForView(
title = "MyTitle",
content = "myContent",
@@ -106,7 +91,7 @@ class EventNotificationTest : KoinTest, AutoCloseKoinTest() {
).await()
/* Wait to receive message */
delay(300)
delay(1000)
/* Check if notifications sent */
verify { followArticleRepo.findFollowsByTarget(any()) }