File tree Expand file tree Collapse file tree
src/test/kotlin/io/sdkman/broker
adapter/secondary/persistence Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import io.kotest.matchers.shouldBe
55import io.ktor.client.request.get
66import io.ktor.http.HttpStatusCode
77import io.ktor.server.testing.testApplication
8+ import io.sdkman.broker.support.MongoSupport
89import io.sdkman.broker.support.MongoTestListener
910import io.sdkman.broker.support.TestDependencyInjection
1011import io.sdkman.broker.support.configureAppForTesting
@@ -17,7 +18,7 @@ class HealthCheckAcceptanceSpec : ShouldSpec() {
1718 init {
1819 should(" return 200 OK when database is healthy" ) {
1920 // given: an initialised database
20- MongoTestListener .setupValidAppRecord()
21+ MongoSupport .setupValidAppRecord()
2122
2223 // when: a GET request is made for "/meta/alive"
2324 testApplication {
@@ -56,7 +57,7 @@ class HealthCheckAcceptanceSpec : ShouldSpec() {
5657
5758 should(" return 503 Service Unavailable when database has invalid application record" ) {
5859 // given: an uninitialised database with an invalid application record
59- MongoTestListener .setupInvalidAppRecord()
60+ MongoSupport .setupInvalidAppRecord()
6061
6162 // when: a GET request is made for "/meta/alive"
6263 testApplication {
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import arrow.core.Some
55import io.kotest.core.spec.style.ShouldSpec
66import io.sdkman.broker.domain.model.Application
77import io.sdkman.broker.domain.repository.RepositoryError
8+ import io.sdkman.broker.support.MongoSupport
89import io.sdkman.broker.support.MongoTestListener
910import io.sdkman.broker.support.shouldBeLeftAnd
1011import io.sdkman.broker.support.shouldBeRight
@@ -16,7 +17,7 @@ class MongoApplicationRepositoryIntegrationSpec : ShouldSpec({
1617
1718 should("return application when record exists with valid alive status") {
1819 // given
19- MongoTestListener .setupValidAppRecord()
20+ MongoSupport .setupValidAppRecord()
2021
2122 // when
2223 val result = repository.findApplication()
@@ -40,7 +41,7 @@ class MongoApplicationRepositoryIntegrationSpec : ShouldSpec({
4041
4142 should("return an error when application record has invalid alive status") {
4243 // given
43- MongoTestListener .setupInvalidAppRecord()
44+ MongoSupport .setupInvalidAppRecord()
4445
4546 // when
4647 val result = repository.findApplication()
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ import org.bson.Document
55
66object MongoSupport {
77 fun setupVersion (version : Version ) {
8- val versionsCollection = MongoTestListener .database.getCollection( " versions " )
8+ val versionsCollection = MongoTestListener .versionsCollection
99 versionsCollection.insertOne(
1010 Document ().apply {
1111 put(" candidate" , version.candidate)
@@ -20,4 +20,16 @@ object MongoSupport {
2020 }
2121 )
2222 }
23- }
23+
24+ // Sets up a valid application record
25+ fun setupValidAppRecord () {
26+ val applicationCollection = MongoTestListener .applicationCollection
27+ applicationCollection.insertOne(Document (" alive" , " OK" ))
28+ }
29+
30+ // Sets up an invalid application record
31+ fun setupInvalidAppRecord () {
32+ val applicationCollection = MongoTestListener .applicationCollection
33+ applicationCollection.insertOne(Document (" alive" , " NOT_OK" ))
34+ }
35+ }
Original file line number Diff line number Diff line change @@ -4,7 +4,6 @@ import com.mongodb.MongoClient
44import io.kotest.core.listeners.TestListener
55import io.kotest.core.spec.Spec
66import io.kotest.core.test.TestCase
7- import org.bson.Document
87import org.testcontainers.containers.MongoDBContainer
98import org.testcontainers.utility.DockerImageName
109
@@ -47,20 +46,8 @@ object MongoTestListener : TestListener {
4746 }
4847
4948 // Resets the database to a clean state
50- fun resetDatabase () {
49+ private fun resetDatabase () {
5150 applicationCollection.drop()
5251 versionsCollection.drop()
5352 }
54-
55- // Sets up a valid application record
56- fun setupValidAppRecord () {
57- resetDatabase()
58- applicationCollection.insertOne(Document (" alive" , " OK" ))
59- }
60-
61- // Sets up an invalid application record
62- fun setupInvalidAppRecord () {
63- resetDatabase()
64- applicationCollection.insertOne(Document (" alive" , " NOT_OK" ))
65- }
6653}
You can’t perform that action at this time.
0 commit comments