Skip to content

Commit 475a82e

Browse files
PM-19335 add throwable val to generator error results (#4894)
1 parent f221563 commit 475a82e

File tree

12 files changed

+44
-28
lines changed

12 files changed

+44
-28
lines changed

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/GeneratorRepositoryImpl.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ class GeneratorRepositoryImpl(
130130
}
131131
GeneratedPasswordResult.Success(generatedPassword)
132132
},
133-
onFailure = { GeneratedPasswordResult.InvalidRequest },
133+
onFailure = { GeneratedPasswordResult.InvalidRequest(error = it) },
134134
)
135135

136136
override suspend fun generatePassphrase(
@@ -149,7 +149,7 @@ class GeneratorRepositoryImpl(
149149
}
150150
GeneratedPassphraseResult.Success(generatedPassphrase)
151151
},
152-
onFailure = { GeneratedPassphraseResult.InvalidRequest },
152+
onFailure = { GeneratedPassphraseResult.InvalidRequest(error = it) },
153153
)
154154

155155
override suspend fun generatePlusAddressedEmail(
@@ -161,7 +161,7 @@ class GeneratorRepositoryImpl(
161161
GeneratedPlusAddressedUsernameResult.Success(generatedEmail)
162162
},
163163
onFailure = {
164-
GeneratedPlusAddressedUsernameResult.InvalidRequest
164+
GeneratedPlusAddressedUsernameResult.InvalidRequest(error = it)
165165
},
166166
)
167167

@@ -174,7 +174,7 @@ class GeneratorRepositoryImpl(
174174
GeneratedCatchAllUsernameResult.Success(generatedEmail)
175175
},
176176
onFailure = {
177-
GeneratedCatchAllUsernameResult.InvalidRequest
177+
GeneratedCatchAllUsernameResult.InvalidRequest(error = it)
178178
},
179179
)
180180

@@ -187,7 +187,7 @@ class GeneratorRepositoryImpl(
187187
GeneratedRandomWordUsernameResult.Success(generatedUsername)
188188
},
189189
onFailure = {
190-
GeneratedRandomWordUsernameResult.InvalidRequest
190+
GeneratedRandomWordUsernameResult.InvalidRequest(error = it)
191191
},
192192
)
193193

@@ -200,7 +200,7 @@ class GeneratorRepositoryImpl(
200200
GeneratedForwardedServiceUsernameResult.Success(generatedEmail)
201201
},
202202
onFailure = {
203-
GeneratedForwardedServiceUsernameResult.InvalidRequest(it.message)
203+
GeneratedForwardedServiceUsernameResult.InvalidRequest(it.message, error = it)
204204
},
205205
)
206206
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedCatchAllUsernameResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ sealed class GeneratedCatchAllUsernameResult {
1515
/**
1616
* There was an error during the operation.
1717
*/
18-
data object InvalidRequest : GeneratedCatchAllUsernameResult()
18+
data class InvalidRequest(val error: Throwable) : GeneratedCatchAllUsernameResult()
1919
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedForwardedServiceUsernameResult.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,8 @@ sealed class GeneratedForwardedServiceUsernameResult {
1414
/**
1515
* There was an error during the operation.
1616
*/
17-
data class InvalidRequest(val message: String?) : GeneratedForwardedServiceUsernameResult()
17+
data class InvalidRequest(
18+
val message: String?,
19+
val error: Throwable,
20+
) : GeneratedForwardedServiceUsernameResult()
1821
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedPassphraseResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ sealed class GeneratedPassphraseResult {
1212
/**
1313
* There was an error during the operation.
1414
*/
15-
data object InvalidRequest : GeneratedPassphraseResult()
15+
data class InvalidRequest(val error: Throwable) : GeneratedPassphraseResult()
1616
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedPasswordResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@ sealed class GeneratedPasswordResult {
1313
/**
1414
* There was an error during the operation.
1515
*/
16-
data object InvalidRequest : GeneratedPasswordResult()
16+
data class InvalidRequest(val error: Throwable) : GeneratedPasswordResult()
1717
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedPlusAddressedUsernameResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,5 @@ sealed class GeneratedPlusAddressedUsernameResult {
1414
/**
1515
* There was an error during the operation.
1616
*/
17-
data object InvalidRequest : GeneratedPlusAddressedUsernameResult()
17+
data class InvalidRequest(val error: Throwable) : GeneratedPlusAddressedUsernameResult()
1818
}

app/src/main/java/com/x8bit/bitwarden/data/tools/generator/repository/model/GeneratedRandomWordUsernameResult.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ sealed class GeneratedRandomWordUsernameResult {
1515
/**
1616
* There was an error during the operation.
1717
*/
18-
data object InvalidRequest : GeneratedRandomWordUsernameResult()
18+
data class InvalidRequest(val error: Throwable) : GeneratedRandomWordUsernameResult()
1919
}

app/src/main/java/com/x8bit/bitwarden/ui/auth/feature/masterpasswordgenerator/MasterPasswordGeneratorViewModel.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ class MasterPasswordGeneratorViewModel @Inject constructor(
9191

9292
private fun handleUpdatedPassphraseResult(passphraseResult: GeneratedPassphraseResult) {
9393
when (passphraseResult) {
94-
GeneratedPassphraseResult.InvalidRequest -> {
94+
is GeneratedPassphraseResult.InvalidRequest -> {
9595
sendEvent(
9696
MasterPasswordGeneratorEvent.ShowSnackbar(
9797
R.string.an_error_has_occurred.asText(),

app/src/main/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModel.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -736,7 +736,7 @@ class GeneratorViewModel @Inject constructor(
736736
}
737737
}
738738

739-
GeneratedPasswordResult.InvalidRequest -> {
739+
is GeneratedPasswordResult.InvalidRequest -> {
740740
sendEvent(GeneratorEvent.ShowSnackbar(R.string.an_error_has_occurred.asText()))
741741
}
742742
}
@@ -752,7 +752,7 @@ class GeneratorViewModel @Inject constructor(
752752
}
753753
}
754754

755-
GeneratedPassphraseResult.InvalidRequest -> {
755+
is GeneratedPassphraseResult.InvalidRequest -> {
756756
sendEvent(GeneratorEvent.ShowSnackbar(R.string.an_error_has_occurred.asText()))
757757
}
758758
}
@@ -768,7 +768,7 @@ class GeneratorViewModel @Inject constructor(
768768
}
769769
}
770770

771-
GeneratedPlusAddressedUsernameResult.InvalidRequest -> {
771+
is GeneratedPlusAddressedUsernameResult.InvalidRequest -> {
772772
sendEvent(GeneratorEvent.ShowSnackbar(R.string.an_error_has_occurred.asText()))
773773
}
774774
}
@@ -784,7 +784,7 @@ class GeneratorViewModel @Inject constructor(
784784
}
785785
}
786786

787-
GeneratedCatchAllUsernameResult.InvalidRequest -> {
787+
is GeneratedCatchAllUsernameResult.InvalidRequest -> {
788788
sendEvent(GeneratorEvent.ShowSnackbar(R.string.an_error_has_occurred.asText()))
789789
}
790790
}
@@ -800,7 +800,7 @@ class GeneratorViewModel @Inject constructor(
800800
}
801801
}
802802

803-
GeneratedRandomWordUsernameResult.InvalidRequest -> {
803+
is GeneratedRandomWordUsernameResult.InvalidRequest -> {
804804
sendEvent(GeneratorEvent.ShowSnackbar(R.string.an_error_has_occurred.asText()))
805805
}
806806
}

app/src/test/java/com/x8bit/bitwarden/data/tools/generator/repository/GeneratorRepositoryTest.kt

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,9 @@ class GeneratorRepositoryTest {
199199

200200
val result = repository.generatePassword(request, true)
201201

202-
assertEquals(GeneratedPasswordResult.InvalidRequest, result)
202+
assertEquals(
203+
GeneratedPasswordResult.InvalidRequest(error = exception), result,
204+
)
203205
coVerify { generatorSdkSource.generatePassword(request) }
204206
}
205207

@@ -257,7 +259,9 @@ class GeneratorRepositoryTest {
257259

258260
val result = repository.generatePassphrase(request)
259261

260-
assertEquals(GeneratedPassphraseResult.InvalidRequest, result)
262+
assertEquals(
263+
GeneratedPassphraseResult.InvalidRequest(error = exception), result,
264+
)
261265
coVerify { generatorSdkSource.generatePassphrase(request) }
262266
}
263267

@@ -296,7 +300,9 @@ class GeneratorRepositoryTest {
296300

297301
val result = repository.generatePlusAddressedEmail(request)
298302

299-
assertEquals(GeneratedPlusAddressedUsernameResult.InvalidRequest, result)
303+
assertEquals(
304+
GeneratedPlusAddressedUsernameResult.InvalidRequest(error = exception), result,
305+
)
300306
coVerify { generatorSdkSource.generatePlusAddressedEmail(request) }
301307
}
302308

@@ -331,7 +337,9 @@ class GeneratorRepositoryTest {
331337

332338
val result = repository.generateCatchAllEmail(request)
333339

334-
assertEquals(GeneratedCatchAllUsernameResult.InvalidRequest, result)
340+
assertEquals(
341+
GeneratedCatchAllUsernameResult.InvalidRequest(error = exception), result,
342+
)
335343
coVerify { generatorSdkSource.generateCatchAllEmail(request) }
336344
}
337345

@@ -366,7 +374,9 @@ class GeneratorRepositoryTest {
366374

367375
val result = repository.generateRandomWordUsername(request)
368376

369-
assertEquals(GeneratedRandomWordUsernameResult.InvalidRequest, result)
377+
assertEquals(
378+
GeneratedRandomWordUsernameResult.InvalidRequest(error = exception), result,
379+
)
370380
coVerify { generatorSdkSource.generateRandomWord(request) }
371381
}
372382

@@ -409,7 +419,10 @@ class GeneratorRepositoryTest {
409419
val result = repository.generateForwardedServiceUsername(request)
410420

411421
assertEquals(
412-
GeneratedForwardedServiceUsernameResult.InvalidRequest(exception.message),
422+
GeneratedForwardedServiceUsernameResult.InvalidRequest(
423+
message = exception.message,
424+
error = exception,
425+
),
413426
result,
414427
)
415428
coVerify { generatorSdkSource.generateForwardedServiceEmail(request) }

app/src/test/java/com/x8bit/bitwarden/ui/auth/feature/masterpasswordgenerator/MasterPasswordGeneratorViewModelTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class MasterPasswordGeneratorViewModelTest : BaseViewModelTest() {
3737
@Suppress("MaxLineLength")
3838
fun `With no saved state and failed generator result, initial password state is default value`() {
3939
fakeGeneratorRepository.setMockGeneratePassphraseResult(
40-
result = GeneratedPassphraseResult.InvalidRequest,
40+
result = GeneratedPassphraseResult.InvalidRequest(error = Throwable("Fail")),
4141
)
4242
val viewModel = createViewModel()
4343

@@ -91,7 +91,7 @@ class MasterPasswordGeneratorViewModelTest : BaseViewModelTest() {
9191
val viewModel = createViewModel()
9292

9393
fakeGeneratorRepository.setMockGeneratePassphraseResult(
94-
GeneratedPassphraseResult.InvalidRequest,
94+
GeneratedPassphraseResult.InvalidRequest(error = Throwable("Fail")),
9595
)
9696

9797
viewModel.eventFlow.test {

app/src/test/java/com/x8bit/bitwarden/ui/tools/feature/generator/GeneratorViewModelTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
403403
val viewModel = createViewModel()
404404

405405
fakeGeneratorRepository.setMockGeneratePasswordResult(
406-
GeneratedPasswordResult.InvalidRequest,
406+
GeneratedPasswordResult.InvalidRequest(error = Throwable("Fail")),
407407
)
408408

409409
viewModel.trySendAction(GeneratorAction.RegenerateClick)
@@ -465,7 +465,7 @@ class GeneratorViewModelTest : BaseViewModelTest() {
465465
val viewModel = createViewModel(initialPassphraseState)
466466

467467
fakeGeneratorRepository.setMockGeneratePassphraseResult(
468-
GeneratedPassphraseResult.InvalidRequest,
468+
GeneratedPassphraseResult.InvalidRequest(error = Throwable("Fail")),
469469
)
470470

471471
viewModel.trySendAction(GeneratorAction.RegenerateClick)

0 commit comments

Comments
 (0)