@@ -447,106 +447,106 @@ public void bucketUserNotInOverlappingGroupExperiment() throws Exception {
447
447
448
448
/**
449
449
* Verify that {@link Bucketer#bucket(Experiment,String)} saves a variation of an experiment for a user
450
- * when a {@link UserExperimentRecord } is present.
450
+ * when a {@link UserProfile } is present.
451
451
*/
452
452
@ Test public void bucketUserSaveActivationWithUserExperimentRecord () throws Exception {
453
453
final AtomicInteger bucketValue = new AtomicInteger ();
454
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
455
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
454
+ UserProfile userProfile = mock (UserProfile .class );
455
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
456
456
bucketValue .set (3000 );
457
457
458
458
ProjectConfig projectConfig = validProjectConfigV2 ();
459
459
List <Experiment > groupExperiments = projectConfig .getGroups ().get (0 ).getExperiments ();
460
460
Experiment groupExperiment = groupExperiments .get (0 );
461
461
final Variation variation = groupExperiment .getVariations ().get (0 );
462
462
463
- when (userExperimentRecord .save ("blah" , groupExperiment .getKey (), variation .getKey ())).thenReturn (true );
463
+ when (userProfile .save ("blah" , groupExperiment .getKey (), variation .getKey ())).thenReturn (true );
464
464
465
465
assertThat (algorithm .bucket (groupExperiment , "blah" ), is (variation ));
466
466
467
467
logbackVerifier .expectMessage (Level .INFO ,
468
468
"Saved variation \" e2_vtag1\" of experiment \" group_etag2\" for user \" blah\" ." );
469
469
470
- verify (userExperimentRecord ).save ("blah" , groupExperiment .getKey (), variation .getKey ());
470
+ verify (userProfile ).save ("blah" , groupExperiment .getKey (), variation .getKey ());
471
471
}
472
472
473
473
/**
474
474
* Verify that {@link Bucketer#bucket(Experiment,String)} logs correctly
475
- * when a {@link UserExperimentRecord } is present and fails to save an activation.
475
+ * when a {@link UserProfile } is present and fails to save an activation.
476
476
*/
477
477
@ Test public void bucketUserSaveActivationFailWithUserExperimentRecord () throws Exception {
478
478
final AtomicInteger bucketValue = new AtomicInteger ();
479
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
480
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
479
+ UserProfile userProfile = mock (UserProfile .class );
480
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
481
481
bucketValue .set (3000 );
482
482
483
483
ProjectConfig projectConfig = validProjectConfigV2 ();
484
484
List <Experiment > groupExperiments = projectConfig .getGroups ().get (0 ).getExperiments ();
485
485
Experiment groupExperiment = groupExperiments .get (0 );
486
486
final Variation variation = groupExperiment .getVariations ().get (0 );
487
487
488
- when (userExperimentRecord .save ("blah" , groupExperiment .getKey (), variation .getKey ())).thenReturn (false );
488
+ when (userProfile .save ("blah" , groupExperiment .getKey (), variation .getKey ())).thenReturn (false );
489
489
490
490
assertThat (algorithm .bucket (groupExperiment , "blah" ), is (variation ));
491
491
492
492
logbackVerifier .expectMessage (Level .WARN ,
493
493
"Failed to save variation \" e2_vtag1\" of experiment \" group_etag2\" for user \" blah\" ." );
494
494
495
- verify (userExperimentRecord ).save ("blah" , groupExperiment .getKey (), variation .getKey ());
495
+ verify (userProfile ).save ("blah" , groupExperiment .getKey (), variation .getKey ());
496
496
}
497
497
498
498
/**
499
499
* Verify that {@link Bucketer#bucket(Experiment,String)} returns a variation that is
500
- * stored in the provided {@link UserExperimentRecord }.
500
+ * stored in the provided {@link UserProfile }.
501
501
*/
502
502
@ Test public void bucketUserRestoreActivationWithUserExperimentRecord () throws Exception {
503
503
final AtomicInteger bucketValue = new AtomicInteger ();
504
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
505
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
504
+ UserProfile userProfile = mock (UserProfile .class );
505
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
506
506
bucketValue .set (3000 );
507
507
508
508
ProjectConfig projectConfig = validProjectConfigV2 ();
509
509
List <Experiment > groupExperiments = projectConfig .getGroups ().get (0 ).getExperiments ();
510
510
Experiment groupExperiment = groupExperiments .get (0 );
511
511
final Variation variation = groupExperiment .getVariations ().get (0 );
512
512
513
- when (userExperimentRecord .lookup ("blah" , groupExperiment .getKey ())).thenReturn (variation .getKey ());
513
+ when (userProfile .lookup ("blah" , groupExperiment .getKey ())).thenReturn (variation .getKey ());
514
514
515
515
assertThat (algorithm .bucket (groupExperiment , "blah" ), is (variation ));
516
516
517
517
logbackVerifier .expectMessage (Level .INFO ,
518
518
"Returning previously activated variation \" e2_vtag1\" of experiment \" group_etag2\" "
519
519
+ " for user \" blah\" from user experiment record." );
520
520
521
- verify (userExperimentRecord ).lookup ("blah" , groupExperiment .getKey ());
521
+ verify (userProfile ).lookup ("blah" , groupExperiment .getKey ());
522
522
}
523
523
524
524
/**
525
- * Verify {@link Bucketer#bucket(Experiment,String)} handles a present {@link UserExperimentRecord }
525
+ * Verify {@link Bucketer#bucket(Experiment,String)} handles a present {@link UserProfile }
526
526
* returning null when looking up a variation.
527
527
*/
528
528
@ Test public void bucketUserRestoreActivationNullWithUserExperimentRecord () throws Exception {
529
529
final AtomicInteger bucketValue = new AtomicInteger ();
530
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
531
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
530
+ UserProfile userProfile = mock (UserProfile .class );
531
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
532
532
bucketValue .set (3000 );
533
533
534
534
ProjectConfig projectConfig = validProjectConfigV2 ();
535
535
List <Experiment > groupExperiments = projectConfig .getGroups ().get (0 ).getExperiments ();
536
536
Experiment groupExperiment = groupExperiments .get (0 );
537
537
final Variation variation = groupExperiment .getVariations ().get (0 );
538
538
539
- when (userExperimentRecord .lookup ("blah" , groupExperiment .getKey ())).thenReturn (null );
539
+ when (userProfile .lookup ("blah" , groupExperiment .getKey ())).thenReturn (null );
540
540
541
541
assertThat (algorithm .bucket (groupExperiment , "blah" ), is (variation ));
542
542
543
543
logbackVerifier .expectMessage (Level .INFO , "No previously activated variation of experiment " +
544
544
"\" group_etag2\" for user \" blah\" found in user experiment record." );
545
- verify (userExperimentRecord ).lookup ("blah" , groupExperiment .getKey ());
545
+ verify (userProfile ).lookup ("blah" , groupExperiment .getKey ());
546
546
}
547
547
548
548
/**
549
- * Verify {@link Bucketer#cleanUserExperimentRecords()} handles a null {@link UserExperimentRecord }.
549
+ * Verify {@link Bucketer#cleanUserExperimentRecords()} handles a null {@link UserProfile }.
550
550
*/
551
551
@ Test
552
552
public void nullUserExperimentRecordWhenCleaning () {
@@ -562,16 +562,16 @@ public void nullUserExperimentRecordWhenCleaning() {
562
562
563
563
/**
564
564
* Verify {@link Bucketer#cleanUserExperimentRecords()} handles a null returned from
565
- * {@link UserExperimentRecord #getAllRecords()}.
565
+ * {@link UserProfile #getAllRecords()}.
566
566
*/
567
567
@ Test
568
568
public void nullUserExperimentRecords () {
569
569
final AtomicInteger bucketValue = new AtomicInteger ();
570
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
571
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
570
+ UserProfile userProfile = mock (UserProfile .class );
571
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
572
572
bucketValue .set (3000 );
573
573
574
- when (userExperimentRecord .getAllRecords ()).thenReturn (null );
574
+ when (userProfile .getAllRecords ()).thenReturn (null );
575
575
try {
576
576
algorithm .cleanUserExperimentRecords ();
577
577
} catch (NullPointerException e ) {
@@ -586,19 +586,19 @@ public void nullUserExperimentRecords() {
586
586
@ Test
587
587
public void cleanRemovesRecordsOfExperimentsThatNoLongerExist () {
588
588
final AtomicInteger bucketValue = new AtomicInteger ();
589
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
590
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
589
+ UserProfile userProfile = mock (UserProfile .class );
590
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
591
591
bucketValue .set (3000 );
592
592
593
593
Map <String ,Map <String ,String >> records = new HashMap <String , Map <String , String >>();
594
594
Map <String ,String > activation = new HashMap <String , String >();
595
595
activation .put ("exp1" , "var1" );
596
596
records .put ("blah" , activation );
597
- when (userExperimentRecord .getAllRecords ()).thenReturn (records );
597
+ when (userProfile .getAllRecords ()).thenReturn (records );
598
598
599
599
algorithm .cleanUserExperimentRecords ();
600
600
601
- verify (userExperimentRecord ).remove ("blah" , "exp1" );
601
+ verify (userProfile ).remove ("blah" , "exp1" );
602
602
}
603
603
604
604
/**
@@ -608,19 +608,19 @@ public void cleanRemovesRecordsOfExperimentsThatNoLongerExist() {
608
608
@ Test
609
609
public void cleanRemovesRecordsOfExperimentsThatAreNotRunning () {
610
610
final AtomicInteger bucketValue = new AtomicInteger ();
611
- UserExperimentRecord userExperimentRecord = mock (UserExperimentRecord .class );
612
- Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userExperimentRecord );
611
+ UserProfile userProfile = mock (UserProfile .class );
612
+ Bucketer algorithm = mockUserExperimentRecordAlgorithm (bucketValue , userProfile );
613
613
bucketValue .set (3000 );
614
614
615
615
Map <String ,Map <String ,String >> records = new HashMap <String , Map <String , String >>();
616
616
Map <String ,String > activation = new HashMap <String , String >();
617
617
activation .put ("exp1" , "var1" );
618
618
records .put ("blah" , activation );
619
- when (userExperimentRecord .getAllRecords ()).thenReturn (records );
619
+ when (userProfile .getAllRecords ()).thenReturn (records );
620
620
621
621
algorithm .cleanUserExperimentRecords ();
622
622
623
- verify (userExperimentRecord ).remove ("blah" , "exp1" );
623
+ verify (userProfile ).remove ("blah" , "exp1" );
624
624
}
625
625
626
626
//======== Helper methods ========//
@@ -642,13 +642,13 @@ int generateBucketValue(int hashCode) {
642
642
/**
643
643
* Sets up a mock algorithm that returns an expected bucket value.
644
644
*
645
- * Includes a composed {@link UserExperimentRecord } mock instance
645
+ * Includes a composed {@link UserProfile } mock instance
646
646
*
647
647
* @param bucketValue the expected bucket value holder
648
648
* @return the mock bucket algorithm
649
649
*/
650
- private Bucketer mockUserExperimentRecordAlgorithm (final AtomicInteger bucketValue , final UserExperimentRecord userExperimentRecord ) {
651
- return new Bucketer (validProjectConfigV2 (), userExperimentRecord ) {
650
+ private Bucketer mockUserExperimentRecordAlgorithm (final AtomicInteger bucketValue , final UserProfile userProfile ) {
651
+ return new Bucketer (validProjectConfigV2 (), userProfile ) {
652
652
@ Override
653
653
int generateBucketValue (int hashCode ) {
654
654
return bucketValue .get ();
0 commit comments