Skip to content

Commit 6b4d6f2

Browse files
committed
Fix tests
1 parent a41c140 commit 6b4d6f2

File tree

1 file changed

+62
-13
lines changed

1 file changed

+62
-13
lines changed

pir/pir-impl/src/test/kotlin/com/duckduckgo/pir/impl/common/RealPirRunStateHandlerTest.kt

Lines changed: 62 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerManua
2222
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordEmailConfirmationCompleted
2323
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordEmailConfirmationNeeded
2424
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordEmailConfirmationStarted
25-
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordOptOutCompleted
25+
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordOptOutFailed
2626
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordOptOutStarted
27+
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerRecordOptOutSubmitted
2728
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerScanActionSucceeded
2829
import com.duckduckgo.pir.impl.common.PirRunStateHandler.PirRunState.BrokerScheduledScanCompleted
2930
import com.duckduckgo.pir.impl.models.AddressCityState
@@ -33,12 +34,17 @@ import com.duckduckgo.pir.impl.models.scheduling.JobRecord.EmailConfirmationJobR
3334
import com.duckduckgo.pir.impl.models.scheduling.JobRecord.EmailConfirmationJobRecord.EmailData
3435
import com.duckduckgo.pir.impl.models.scheduling.JobRecord.EmailConfirmationJobRecord.JobAttemptData
3536
import com.duckduckgo.pir.impl.models.scheduling.JobRecord.EmailConfirmationJobRecord.LinkFetchData
37+
import com.duckduckgo.pir.impl.models.scheduling.JobRecord.OptOutJobRecord
38+
import com.duckduckgo.pir.impl.models.scheduling.JobRecord.OptOutJobRecord.OptOutJobStatus
3639
import com.duckduckgo.pir.impl.pixels.PirPixelSender
40+
import com.duckduckgo.pir.impl.pixels.PirStage.OTHER
3741
import com.duckduckgo.pir.impl.scheduling.JobRecordUpdater
42+
import com.duckduckgo.pir.impl.scripts.models.BrokerAction
3843
import com.duckduckgo.pir.impl.scripts.models.PirSuccessResponse.ExtractedResponse
3944
import com.duckduckgo.pir.impl.scripts.models.PirSuccessResponse.ExtractedResponse.ScriptAddressCityState
4045
import com.duckduckgo.pir.impl.scripts.models.PirSuccessResponse.ExtractedResponse.ScriptExtractedProfile
4146
import com.duckduckgo.pir.impl.scripts.models.PirSuccessResponse.NavigateResponse
47+
import com.duckduckgo.pir.impl.scripts.models.asActionType
4248
import com.duckduckgo.pir.impl.store.PirEventsRepository
4349
import com.duckduckgo.pir.impl.store.PirRepository
4450
import com.duckduckgo.pir.impl.store.PirSchedulingRepository
@@ -449,13 +455,27 @@ class RealPirRunStateHandlerTest {
449455
fun whenHandleBrokerRecordOptOutCompletedWithSuccessThenUpdatesRecordAndReportsPixel() =
450456
runTest {
451457
val state =
452-
BrokerRecordOptOutCompleted(
458+
BrokerRecordOptOutSubmitted(
453459
brokerName = testBrokerName,
454460
extractedProfile = testExtractedProfile,
455461
startTimeInMillis = testStartTimeInMillis,
456462
endTimeInMillis = testEventTimeInMillis,
457-
isSubmitSuccess = true,
463+
attemptId = "c9982ded-021a-4251-9e03-2c58b130410f",
464+
emailPattern = "ep15",
458465
)
466+
whenever(mockRepository.getBrokerForName(testBrokerName)).thenReturn(testBroker)
467+
whenever(mockJobRecordUpdater.updateOptOutRequested(any())).thenReturn(
468+
OptOutJobRecord(
469+
extractedProfileId = 789L,
470+
brokerName = testBrokerName,
471+
userProfileId = 123L,
472+
status = OptOutJobStatus.REQUESTED,
473+
attemptCount = 2,
474+
lastOptOutAttemptDateInMillis = 1000L,
475+
optOutRequestedDateInMillis = 2000L,
476+
optOutRemovedDateInMillis = 0L,
477+
),
478+
)
459479

460480
testee.handleState(state)
461481

@@ -467,24 +487,46 @@ class RealPirRunStateHandlerTest {
467487
endTimeInMillis = testEventTimeInMillis,
468488
isSubmitSuccess = true,
469489
)
470-
verify(mockPixelSender).reportOptOutCompleted(
471-
brokerName = testBrokerName,
472-
totalTimeInMillis = testEventTimeInMillis - testStartTimeInMillis,
473-
isSuccess = true,
490+
verify(mockPixelSender).reportOptOutSubmitted(
491+
brokerUrl = testBroker.url,
492+
parent = "",
493+
attemptId = state.attemptId,
494+
durationMs = testEventTimeInMillis - testStartTimeInMillis,
495+
tries = 2,
496+
emailPattern = state.emailPattern,
474497
)
475498
}
476499

477500
@Test
478501
fun whenHandleBrokerRecordOptOutCompletedWithFailureThenUpdatesRecordAndReportsPixel() =
479502
runTest {
480503
val state =
481-
BrokerRecordOptOutCompleted(
504+
BrokerRecordOptOutFailed(
482505
brokerName = testBrokerName,
483506
extractedProfile = testExtractedProfile,
484507
startTimeInMillis = testStartTimeInMillis,
485508
endTimeInMillis = testEventTimeInMillis,
486-
isSubmitSuccess = false,
509+
attemptId = "c9982ded-021a-4251-9e03-2c58b130410f",
510+
failedAction = BrokerAction.Navigate(
511+
id = "fail82ded-021a-4251-9e03-2c58b130410f",
512+
url = "https://example.com/fail",
513+
),
514+
stage = OTHER,
515+
emailPattern = "ep15",
487516
)
517+
whenever(mockRepository.getBrokerForName(testBrokerName)).thenReturn(testBroker)
518+
whenever(mockJobRecordUpdater.updateOptOutError(any())).thenReturn(
519+
OptOutJobRecord(
520+
extractedProfileId = 789L,
521+
brokerName = testBrokerName,
522+
userProfileId = 123L,
523+
status = OptOutJobStatus.ERROR,
524+
attemptCount = 2,
525+
lastOptOutAttemptDateInMillis = 1000L,
526+
optOutRequestedDateInMillis = 2000L,
527+
optOutRemovedDateInMillis = 0L,
528+
),
529+
)
488530

489531
testee.handleState(state)
490532

@@ -496,10 +538,17 @@ class RealPirRunStateHandlerTest {
496538
endTimeInMillis = testEventTimeInMillis,
497539
isSubmitSuccess = false,
498540
)
499-
verify(mockPixelSender).reportOptOutCompleted(
500-
brokerName = testBrokerName,
501-
totalTimeInMillis = testEventTimeInMillis - testStartTimeInMillis,
502-
isSuccess = false,
541+
verify(mockPixelSender).reportOptOutFailed(
542+
brokerUrl = testBroker.url,
543+
parent = "",
544+
brokerJsonVersion = testBroker.version,
545+
attemptId = "c9982ded-021a-4251-9e03-2c58b130410f",
546+
durationMs = testEventTimeInMillis - testStartTimeInMillis,
547+
stage = state.stage,
548+
tries = 2,
549+
emailPattern = state.emailPattern,
550+
actionId = state.failedAction.id,
551+
actionType = state.failedAction.asActionType(),
503552
)
504553
}
505554

0 commit comments

Comments
 (0)