Skip to content

Commit 9d2e052

Browse files
IS-2720: Remove unneccesary TestApplicationEngine (#558)
1 parent 0c95ae4 commit 9d2e052

File tree

9 files changed

+808
-917
lines changed

9 files changed

+808
-917
lines changed

src/test/kotlin/no/nav/syfo/brev/narmesteleder/NarmesteLederAccessServiceSpek.kt

+227-231
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package no.nav.syfo.client.azuread
22

3-
import io.ktor.server.testing.TestApplicationEngine
43
import io.mockk.clearMocks
54
import io.mockk.every
65
import io.mockk.justRun
@@ -25,122 +24,117 @@ class AzureAdClientSpek : Spek({
2524
val anyToken = "anyToken"
2625

2726
describe(AzureAdClientSpek::class.java.simpleName) {
27+
val externalMockEnvironment = ExternalMockEnvironment.getInstance()
28+
val cacheMock = mockk<RedisStore>()
29+
30+
val azureAdClient = AzureAdV2Client(
31+
aadAppClient = externalMockEnvironment.environment.aadAppClient,
32+
aadAppSecret = externalMockEnvironment.environment.aadAppSecret,
33+
aadTokenEndpoint = externalMockEnvironment.environment.aadTokenEndpoint,
34+
redisStore = cacheMock,
35+
)
36+
val systemTokenCacheKey =
37+
"${AzureAdV2Client.CACHE_AZUREAD_TOKEN_SYSTEM_KEY_PREFIX}${externalMockEnvironment.environment.pdlClientId}"
38+
val cachedToken = AzureAdV2Token(anyToken, LocalDateTime.now().plusHours(1))
39+
val cachedTokenString = mapper.writeValueAsString(cachedToken)
40+
41+
beforeEachTest {
42+
clearMocks(cacheMock)
43+
}
2844

29-
with(TestApplicationEngine()) {
30-
start()
31-
32-
val externalMockEnvironment = ExternalMockEnvironment.getInstance()
33-
val cacheMock = mockk<RedisStore>()
34-
35-
val azureAdClient = AzureAdV2Client(
36-
aadAppClient = externalMockEnvironment.environment.aadAppClient,
37-
aadAppSecret = externalMockEnvironment.environment.aadAppSecret,
38-
aadTokenEndpoint = externalMockEnvironment.environment.aadTokenEndpoint,
39-
redisStore = cacheMock,
40-
)
41-
val systemTokenCacheKey =
42-
"${AzureAdV2Client.CACHE_AZUREAD_TOKEN_SYSTEM_KEY_PREFIX}${externalMockEnvironment.environment.pdlClientId}"
43-
val cachedToken = AzureAdV2Token(anyToken, LocalDateTime.now().plusHours(1))
44-
val cachedTokenString = mapper.writeValueAsString(cachedToken)
45-
46-
beforeEachTest {
47-
clearMocks(cacheMock)
48-
}
45+
it("azureAdClient returns cached system token") {
46+
every { cacheMock.mapper } returns mapper
47+
every { cacheMock.get(systemTokenCacheKey) } returns cachedTokenString
4948

50-
it("azureAdClient returns cached system token") {
51-
every { cacheMock.mapper } returns mapper
52-
every { cacheMock.get(systemTokenCacheKey) } returns cachedTokenString
53-
54-
runBlocking {
55-
azureAdClient.getSystemToken(
56-
scopeClientId = externalMockEnvironment.environment.pdlClientId,
57-
) shouldBeEqualTo cachedToken
58-
}
59-
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
60-
verify(exactly = 0) { cacheMock.set(any(), any(), any()) }
49+
runBlocking {
50+
azureAdClient.getSystemToken(
51+
scopeClientId = externalMockEnvironment.environment.pdlClientId,
52+
) shouldBeEqualTo cachedToken
6153
}
54+
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
55+
verify(exactly = 0) { cacheMock.set(any(), any(), any()) }
56+
}
6257

63-
it("azureAdClient returns new token when cached token missing") {
64-
every { cacheMock.mapper } returns mapper
65-
every { cacheMock.get(systemTokenCacheKey) } returns null
66-
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
67-
68-
runBlocking {
69-
azureAdClient.getSystemToken(
70-
scopeClientId = externalMockEnvironment.environment.pdlClientId,
71-
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
72-
}
73-
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
74-
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
58+
it("azureAdClient returns new token when cached token missing") {
59+
every { cacheMock.mapper } returns mapper
60+
every { cacheMock.get(systemTokenCacheKey) } returns null
61+
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
62+
63+
runBlocking {
64+
azureAdClient.getSystemToken(
65+
scopeClientId = externalMockEnvironment.environment.pdlClientId,
66+
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
7567
}
76-
val expiredToken = AzureAdV2Token(anyToken, LocalDateTime.now())
77-
val expiredTokenString = mapper.writeValueAsString(expiredToken)
78-
79-
it("azureAdClient returns new token when cached token is expired") {
80-
every { cacheMock.mapper } returns mapper
81-
every { cacheMock.get(systemTokenCacheKey) } returns expiredTokenString
82-
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
83-
84-
runBlocking {
85-
azureAdClient.getSystemToken(
86-
scopeClientId = externalMockEnvironment.environment.pdlClientId,
87-
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
88-
}
89-
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
90-
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
68+
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
69+
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
70+
}
71+
val expiredToken = AzureAdV2Token(anyToken, LocalDateTime.now())
72+
val expiredTokenString = mapper.writeValueAsString(expiredToken)
73+
74+
it("azureAdClient returns new token when cached token is expired") {
75+
every { cacheMock.mapper } returns mapper
76+
every { cacheMock.get(systemTokenCacheKey) } returns expiredTokenString
77+
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
78+
79+
runBlocking {
80+
azureAdClient.getSystemToken(
81+
scopeClientId = externalMockEnvironment.environment.pdlClientId,
82+
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
9183
}
92-
val validToken = generateJWTNavIdent(
93-
externalMockEnvironment.environment.aadAppClient,
94-
externalMockEnvironment.wellKnownVeilederV2.issuer,
95-
VEILEDER_IDENT,
96-
)
97-
98-
val scopeClientId = externalMockEnvironment.environment.syfobehandlendeenhetClientId
99-
val oboTokenCacheKey = "$VEILEDER_IDENT-$JWT_AZP-$scopeClientId"
100-
101-
it("azureAdClient returns cached obo token") {
102-
every { cacheMock.mapper } returns mapper
103-
every { cacheMock.get(oboTokenCacheKey) } returns cachedTokenString
104-
105-
runBlocking {
106-
azureAdClient.getOnBehalfOfToken(
107-
scopeClientId = scopeClientId,
108-
validToken,
109-
) shouldBeEqualTo cachedToken
110-
}
111-
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
112-
verify(exactly = 0) { cacheMock.set(any(), any(), any()) }
84+
verify(exactly = 1) { cacheMock.get(systemTokenCacheKey) }
85+
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
86+
}
87+
val validToken = generateJWTNavIdent(
88+
externalMockEnvironment.environment.aadAppClient,
89+
externalMockEnvironment.wellKnownVeilederV2.issuer,
90+
VEILEDER_IDENT,
91+
)
92+
93+
val scopeClientId = externalMockEnvironment.environment.syfobehandlendeenhetClientId
94+
val oboTokenCacheKey = "$VEILEDER_IDENT-$JWT_AZP-$scopeClientId"
95+
96+
it("azureAdClient returns cached obo token") {
97+
every { cacheMock.mapper } returns mapper
98+
every { cacheMock.get(oboTokenCacheKey) } returns cachedTokenString
99+
100+
runBlocking {
101+
azureAdClient.getOnBehalfOfToken(
102+
scopeClientId = scopeClientId,
103+
validToken,
104+
) shouldBeEqualTo cachedToken
113105
}
106+
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
107+
verify(exactly = 0) { cacheMock.set(any(), any(), any()) }
108+
}
109+
110+
it("azureAdClient returns new obo token when cached token missing") {
111+
every { cacheMock.mapper } returns mapper
112+
every { cacheMock.get(oboTokenCacheKey) } returns null
113+
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
114114

115-
it("azureAdClient returns new obo token when cached token missing") {
116-
every { cacheMock.mapper } returns mapper
117-
every { cacheMock.get(oboTokenCacheKey) } returns null
118-
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
119-
120-
runBlocking {
121-
azureAdClient.getOnBehalfOfToken(
122-
scopeClientId = scopeClientId,
123-
validToken,
124-
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
125-
}
126-
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
127-
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
115+
runBlocking {
116+
azureAdClient.getOnBehalfOfToken(
117+
scopeClientId = scopeClientId,
118+
validToken,
119+
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
128120
}
121+
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
122+
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
123+
}
124+
125+
it("azureAdClient returns new obo token when cached token is expired") {
126+
every { cacheMock.mapper } returns mapper
127+
every { cacheMock.get(oboTokenCacheKey) } returns expiredTokenString
128+
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
129129

130-
it("azureAdClient returns new obo token when cached token is expired") {
131-
every { cacheMock.mapper } returns mapper
132-
every { cacheMock.get(oboTokenCacheKey) } returns expiredTokenString
133-
justRun { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
134-
135-
runBlocking {
136-
azureAdClient.getOnBehalfOfToken(
137-
scopeClientId = scopeClientId,
138-
validToken,
139-
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
140-
}
141-
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
142-
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
130+
runBlocking {
131+
azureAdClient.getOnBehalfOfToken(
132+
scopeClientId = scopeClientId,
133+
validToken,
134+
)?.accessToken shouldBeEqualTo AZUREAD_TOKEN
143135
}
136+
verify(exactly = 1) { cacheMock.get(oboTokenCacheKey) }
137+
verify(exactly = 1) { cacheMock.setObject(any(), any() as AzureAdV2Token, any()) }
144138
}
145139
}
146140
})

src/test/kotlin/no/nav/syfo/client/dokarkiv/DokarkivClientSpek.kt

+37-42
Original file line numberDiff line numberDiff line change
@@ -17,57 +17,52 @@ import java.util.*
1717
class DokarkivClientSpek : Spek({
1818

1919
describe("DokarkivClient") {
20+
val azureAdV2ClientMock = mockk<AzureAdV2Client>(relaxed = true)
21+
val dokarkivMock = DokarkivMock()
22+
val dokarkivClient = DokarkivClient(
23+
azureAdV2Client = azureAdV2ClientMock,
24+
dokarkivClientId = "dokarkivClientId",
25+
dokarkivBaseUrl = dokarkivMock.url,
26+
)
27+
val pdf = byteArrayOf(23)
2028

21-
with(TestApplicationEngine()) {
22-
start()
23-
24-
val azureAdV2ClientMock = mockk<AzureAdV2Client>(relaxed = true)
25-
val dokarkivMock = DokarkivMock()
26-
val dokarkivClient = DokarkivClient(
27-
azureAdV2Client = azureAdV2ClientMock,
28-
dokarkivClientId = "dokarkivClientId",
29-
dokarkivBaseUrl = dokarkivMock.url,
30-
)
31-
val pdf = byteArrayOf(23)
32-
33-
beforeGroup {
34-
dokarkivMock.server.start()
35-
}
29+
beforeGroup {
30+
dokarkivMock.server.start()
31+
}
3632

37-
afterGroup {
38-
dokarkivMock.server.stop(1L, 10L)
39-
}
33+
afterGroup {
34+
dokarkivMock.server.stop(1L, 10L)
35+
}
4036

41-
it("journalfører referat") {
42-
val journalpostRequestReferat = generateJournalpostRequest(
43-
tittel = "Referat fra dialogmøte",
44-
brevkodeType = BrevkodeType.DIALOGMOTE_REFERAT_AT,
45-
pdf = pdf,
46-
kanal = JournalpostKanal.SENTRAL_UTSKRIFT.value,
47-
varselId = UUID.randomUUID()
48-
)
37+
it("journalfører referat") {
38+
val journalpostRequestReferat = generateJournalpostRequest(
39+
tittel = "Referat fra dialogmøte",
40+
brevkodeType = BrevkodeType.DIALOGMOTE_REFERAT_AT,
41+
pdf = pdf,
42+
kanal = JournalpostKanal.SENTRAL_UTSKRIFT.value,
43+
varselId = UUID.randomUUID()
44+
)
4945

50-
runBlocking {
51-
val response = dokarkivClient.journalfor(journalpostRequest = journalpostRequestReferat)
46+
runBlocking {
47+
val response = dokarkivClient.journalfor(journalpostRequest = journalpostRequestReferat)
5248

53-
response?.journalpostId shouldBeEqualTo UserConstants.JOURNALPOSTID_JOURNALFORING
54-
}
49+
response?.journalpostId shouldBeEqualTo UserConstants.JOURNALPOSTID_JOURNALFORING
5550
}
51+
}
5652

57-
it("handles conflict from api when eksternRefeanseId exists by returning journalpostid") {
58-
val journalpostRequestReferat = generateJournalpostRequest(
59-
tittel = "Referat fra dialogmøte",
60-
brevkodeType = BrevkodeType.DIALOGMOTE_REFERAT_AG,
61-
pdf = pdf,
62-
kanal = JournalpostKanal.SENTRAL_UTSKRIFT.value,
63-
varselId = UserConstants.EXISTING_EKSTERN_REFERANSE_UUID,
64-
)
53+
it("handles conflict from api when eksternRefeanseId exists by returning journalpostid") {
54+
val journalpostRequestReferat = generateJournalpostRequest(
55+
tittel = "Referat fra dialogmøte",
56+
brevkodeType = BrevkodeType.DIALOGMOTE_REFERAT_AG,
57+
pdf = pdf,
58+
kanal = JournalpostKanal.SENTRAL_UTSKRIFT.value,
59+
varselId = UserConstants.EXISTING_EKSTERN_REFERANSE_UUID,
60+
)
6561

66-
runBlocking {
67-
val response = dokarkivClient.journalfor(journalpostRequest = journalpostRequestReferat)
62+
runBlocking {
63+
val response = dokarkivClient.journalfor(journalpostRequest = journalpostRequestReferat)
6864

69-
response?.journalpostId shouldBeEqualTo UserConstants.JOURNALPOSTID_JOURNALFORING
70-
}
65+
response?.journalpostId shouldBeEqualTo UserConstants.JOURNALPOSTID_JOURNALFORING
7166
}
7267
}
7368
}

0 commit comments

Comments
 (0)