Skip to content

Commit aa79fe5

Browse files
Merge branch 'main' into test-licences
2 parents 6591483 + 5466e7f commit aa79fe5

File tree

6 files changed

+20
-17
lines changed

6 files changed

+20
-17
lines changed

docs/adr/0003-manually-manage-openapi-file.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ Accepted
1111
The [OpenAPI specification](https://spec.openapis.org/oas/latest.html) is a standard for describing REST APIs and
1212
[Swagger UI](https://swagger.io/tools/swagger-ui/) is used to visualise and interact with a specification file in more
1313
user-friendly manner. These are used widely used within HMPPS to document APIs,
14-
e.g. [Prison API's OpenAPI specification](https://api.prison.service.justice.gov.uk/v3/api-docs)
15-
and [Prison API's Swagger UI](https://api.prison.service.justice.gov.uk/swagger-ui/index.html). This is achieved by
14+
e.g. [Prison API's OpenAPI specification](https://prison-api.prison.service.justice.gov.uk/v3/api-docs)
15+
and [Prison API's Swagger UI](https://prison-api.prison.service.justice.gov.uk/swagger-ui/index.html). This is achieved by
1616
using the [SpringDoc OpenAPI library](https://springdoc.org) and annotating the codebase which the library then uses to
1717
expose two endpoints: one for the OpenAPI specification in JSON format and another for Swagger UI.
1818

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
graphviz==0.20.1
22
pandas==2.0.2
3-
requests==2.31.0
3+
requests==2.32.0
44
PyYAML==6.0

src/main/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/services/GetLicenceConditionService.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class GetLicenceConditionService(
3030

3131
return Response(
3232
data = personLicences,
33-
errors = personResponse.errors + licences.errors,
33+
errors = licences.errors,
3434
)
3535
}
3636
}

src/main/resources/application-preprod.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
prison-api:
3-
base-url: https://api-preprod.prison.service.justice.gov.uk
3+
base-url: https://prison-api-preprod.prison.service.justice.gov.uk
44
prisoner-offender-search:
55
base-url: https://prisoner-search-preprod.prison.service.justice.gov.uk
66
probation-offender-search:

src/main/resources/application-prod.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
services:
22
prison-api:
3-
base-url: https://api.prison.service.justice.gov.uk
3+
base-url: https://prison-api.prison.service.justice.gov.uk
44
prisoner-offender-search:
55
base-url: https://prisoner-search.prison.service.justice.gov.uk
66
probation-offender-search:

src/test/kotlin/uk/gov/justice/digital/hmpps/hmppsintegrationapi/services/GetLicenceConditionServiceTest.kt

+14-11
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
package uk.gov.justice.digital.hmpps.hmppsintegrationapi.services
22

33
import io.kotest.core.spec.style.DescribeSpec
4-
import io.kotest.matchers.shouldBe
5-
import org.mockito.Mockito
6-
import org.mockito.internal.verification.VerificationModeFactory
7-
import org.mockito.kotlin.verify
8-
import org.mockito.kotlin.whenever
94
import org.springframework.boot.test.context.ConfigDataApplicationContextInitializer
105
import org.springframework.boot.test.mock.mockito.MockBean
116
import org.springframework.test.context.ContextConfiguration
@@ -14,9 +9,6 @@ import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Identifiers
149
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Licence
1510
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.LicenceCondition
1611
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Person
17-
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.Response
18-
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.UpstreamApi
19-
import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.UpstreamApiError
2012

2113
@ContextConfiguration(
2214
initializers = [ConfigDataApplicationContextInitializer::class],
@@ -25,6 +17,8 @@ import uk.gov.justice.digital.hmpps.hmppsintegrationapi.models.hmpps.UpstreamApi
2517
internal class GetLicenceConditionServiceTest(
2618
@MockBean val createAndVaryLicenceGateway: CreateAndVaryLicenceGateway,
2719
@MockBean val getPersonService: GetPersonService,
20+
@MockBean val getPersonService: GetPersonService,
21+
2822
private val getLicenceConditionService: GetLicenceConditionService,
2923
) : DescribeSpec(
3024
{
@@ -34,9 +28,18 @@ internal class GetLicenceConditionServiceTest(
3428
val licences = listOf(Licence(id = "12345"))
3529
val conditions = listOf(LicenceCondition(condition = "MockCondition", category = "AP"))
3630

37-
beforeEach {
38-
Mockito.reset(getPersonService)
39-
Mockito.reset(createAndVaryLicenceGateway)
31+
beforeEach {
32+
Mockito.reset(getPersonService)
33+
Mockito.reset(createAndVaryLicenceGateway)
34+
35+
whenever(getPersonService.execute(hmppsId = hmppsId)).thenReturn(Response(person))
36+
whenever(createAndVaryLicenceGateway.getLicenceSummaries(id = crn)).thenReturn(Response(licences))
37+
whenever(createAndVaryLicenceGateway.getLicenceConditions(id = 12345)).thenReturn(Response(conditions))
38+
}
39+
it("performs a search according to hmpps Id") {
40+
getLicenceConditionService.execute(hmppsId)
41+
verify(getPersonService, VerificationModeFactory.times(1)).execute(hmppsId = hmppsId)
42+
}
4043

4144
whenever(getPersonService.execute(hmppsId = hmppsId)).thenReturn(Response(person))
4245
whenever(createAndVaryLicenceGateway.getLicenceSummaries(id = crn)).thenReturn(Response(licences))

0 commit comments

Comments
 (0)