Skip to content

Commit 9c41319

Browse files
committed
refactor!: ExistingRequest for Verify v2
1 parent abbd8f7 commit 9c41319

File tree

2 files changed

+30
-35
lines changed

2 files changed

+30
-35
lines changed

src/main/kotlin/com/vonage/client/kt/Verify.kt

Lines changed: 19 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,32 @@ class Verify(private val verify2Client: Verify2Client) {
2727
VerificationRequest.builder().brand(brand).apply(init).build()
2828
)
2929

30-
fun cancelVerification(requestId: UUID): Unit = verify2Client.cancelVerification(requestId)
30+
inner class ExistingRequest internal constructor(private val requestId: UUID) {
3131

32-
fun cancelVerification(requestId: String): Unit = cancelVerification(UUID.fromString(requestId))
32+
fun cancel(): Unit = verify2Client.cancelVerification(requestId)
3333

34-
fun nextWorkflow(requestId: UUID): Unit = verify2Client.nextWorkflow(requestId)
34+
fun nextWorkflow(): Unit = verify2Client.nextWorkflow(requestId)
3535

36-
fun nextWorkflow(requestId: String): Unit = nextWorkflow(UUID.fromString(requestId))
36+
fun checkVerificationCode(code: String): VerifyCodeResponse =
37+
verify2Client.checkVerificationCode(requestId, code)
3738

38-
fun checkVerificationCode(requestId: UUID, code: String): VerifyCodeResponse =
39-
verify2Client.checkVerificationCode(requestId, code)
40-
41-
fun checkVerificationCode(requestId: String, code: String): VerifyCodeResponse =
42-
checkVerificationCode(UUID.fromString(requestId), code)
43-
44-
fun isValidVerificationCode(requestId: String, code: String): Boolean =
45-
isValidVerificationCode(UUID.fromString(requestId), code)
46-
47-
fun isValidVerificationCode(requestId: UUID, code: String): Boolean {
48-
try {
49-
checkVerificationCode(requestId, code)
50-
return true
51-
} catch (ex: VerifyResponseException) {
52-
if (ex.statusCode == 400 || ex.statusCode == 410) {
53-
return false
54-
} else {
55-
throw ex
39+
fun isValidVerificationCode(code: String): Boolean {
40+
try {
41+
checkVerificationCode(code)
42+
return true
43+
} catch (ex: VerifyResponseException) {
44+
if (ex.statusCode == 400 || ex.statusCode == 410) {
45+
return false
46+
} else {
47+
throw ex
48+
}
5649
}
5750
}
5851
}
52+
53+
fun request(requestId: UUID): ExistingRequest = ExistingRequest(requestId)
54+
55+
fun request(requestId: String): ExistingRequest = request(UUID.fromString(requestId))
5956
}
6057

6158
fun VerificationRequest.Builder.silentAuth(

src/test/kotlin/com/vonage/client/kt/VerifyTest.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class VerifyTest : AbstractTest() {
2929
private val requestIdStr = "c11236f4-00bf-4b89-84ba-88b25df97315"
3030
private val requestId = UUID.fromString(requestIdStr)
3131
private val requestIdUrl = "$baseUrl/$requestIdStr"
32+
private val existingRequest = verifyClient.request(requestIdStr)
3233
private val timeout = 60
3334
private val fraudCheck = false
3435
private val sandbox = true
@@ -171,37 +172,34 @@ class VerifyTest : AbstractTest() {
171172
@Test
172173
fun `cancel verification`() {
173174
mockDelete(requestIdUrl)
174-
verifyClient.cancelVerification(requestIdStr)
175-
verifyClient.cancelVerification(requestId)
175+
existingRequest.cancel()
176176
assertVerifyResponseException(requestIdUrl, HttpMethod.DELETE) {
177-
verifyClient.cancelVerification(requestIdStr)
177+
existingRequest.cancel()
178178
}
179179
}
180180

181181
@Test
182182
fun `next workflow`() {
183183
val expectedUrl = "$requestIdUrl/next-workflow"
184184
mockPost(expectedUrl)
185-
verifyClient.nextWorkflow(requestIdStr)
186-
verifyClient.nextWorkflow(requestId)
185+
existingRequest.nextWorkflow()
187186
assertVerifyResponseException(expectedUrl, HttpMethod.POST) {
188-
verifyClient.nextWorkflow(requestId)
187+
existingRequest.nextWorkflow()
189188
}
190189
assertVerifyResponseException(expectedUrl, HttpMethod.POST) {
191-
verifyClient.nextWorkflow(requestIdStr)
190+
existingRequest.nextWorkflow()
192191
}
193192
}
194193

195194
@Test
196195
fun `check valid verification code`() {
197-
val call: () -> Boolean = {verifyClient.isValidVerificationCode(requestIdStr, code)}
196+
val call: () -> Boolean = {
197+
existingRequest.isValidVerificationCode(code)
198+
}
198199

199200
mockPost(requestIdUrl, checkCodeRequestParams, 200)
200201
assertTrue(call.invoke())
201-
verifyClient.checkVerificationCode(requestIdStr, code)
202-
verifyClient.checkVerificationCode(requestId, code)
203-
assertTrue(verifyClient.isValidVerificationCode(requestId, code))
204-
202+
existingRequest.checkVerificationCode(code)
205203

206204
val title = "Invalid Code"
207205

@@ -221,7 +219,7 @@ class VerifyTest : AbstractTest() {
221219

222220
assertVerifyResponseException(requestIdUrl, HttpMethod.POST, call)
223221
assertVerifyResponseException(requestIdUrl, HttpMethod.POST) {
224-
verifyClient.checkVerificationCode(requestIdStr, code)
222+
existingRequest.checkVerificationCode(code)
225223
}
226224
}
227225
}

0 commit comments

Comments
 (0)