16
16
17
17
import static com .google .common .truth .Truth .assertThat ;
18
18
import static com .google .firebase .remoteconfig .internal .Personalization .ANALYTICS_ORIGIN_PERSONALIZATION ;
19
- import static com .google .firebase .remoteconfig .internal .Personalization .ANALYTICS_PULL_EVENT ;
20
- import static com .google .firebase .remoteconfig .internal .Personalization .ANALYTICS_PULL_EVENT_INTERNAL ;
21
- import static com .google .firebase .remoteconfig .internal .Personalization .ARM_INDEX_LOG_KEY ;
22
- import static com .google .firebase .remoteconfig .internal .Personalization .ARM_KEY ;
23
- import static com .google .firebase .remoteconfig .internal .Personalization .ARM_VALUE ;
24
- import static com .google .firebase .remoteconfig .internal .Personalization .CHOICE_ID_LOG_KEY ;
25
- import static com .google .firebase .remoteconfig .internal .Personalization .GROUP ;
26
- import static com .google .firebase .remoteconfig .internal .Personalization .PERSONALIZATION_ID_LOG_KEY ;
19
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_EVENT ;
20
+ import static com .google .firebase .remoteconfig .internal .Personalization .INTERNAL_EVENT ;
21
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_ARM_INDEX_PARAM ;
22
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_RC_PARAMETER_PARAM ;
23
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_ARM_VALUE_PARAM ;
24
+ import static com .google .firebase .remoteconfig .internal .Personalization .INTERNAL_CHOICE_ID_PARAM ;
25
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_GROUP_PARAM ;
26
+ import static com .google .firebase .remoteconfig .internal .Personalization .EXTERNAL_PERSONALIZATION_ID_PARAM ;
27
27
import static org .mockito .AdditionalMatchers .or ;
28
28
import static org .mockito .ArgumentMatchers .any ;
29
29
import static org .mockito .ArgumentMatchers .eq ;
52
52
@ Config (manifest = Config .NONE )
53
53
public class PersonalizationTest {
54
54
private static final ConfigContainer CONFIG_CONTAINER ;
55
+ private static final Bundle LOG_PARAMS_1 = new Bundle ();
56
+ private static final Bundle LOG_PARAMS_2 = new Bundle ();
57
+ private static final Bundle INTERNAL_LOG_PARAMS_1 = new Bundle ();
58
+ private static final Bundle INTERNAL_LOG_PARAMS_2 = new Bundle ();
55
59
56
60
static {
57
61
try {
@@ -70,6 +74,22 @@ public class PersonalizationTest {
70
74
} catch (JSONException e ) {
71
75
throw new RuntimeException (e );
72
76
}
77
+
78
+ LOG_PARAMS_1 .putString (EXTERNAL_RC_PARAMETER_PARAM , "key1" );
79
+ LOG_PARAMS_1 .putString (EXTERNAL_ARM_VALUE_PARAM , "value1" );
80
+ LOG_PARAMS_1 .putString (EXTERNAL_PERSONALIZATION_ID_PARAM , "p13n1" );
81
+ LOG_PARAMS_1 .putInt (EXTERNAL_ARM_INDEX_PARAM , 0 );
82
+ LOG_PARAMS_1 .putString (EXTERNAL_GROUP_PARAM , "BASELINE" );
83
+
84
+ LOG_PARAMS_2 .putString (EXTERNAL_RC_PARAMETER_PARAM , "key2" );
85
+ LOG_PARAMS_2 .putString (EXTERNAL_ARM_VALUE_PARAM , "value2" );
86
+ LOG_PARAMS_2 .putString (EXTERNAL_PERSONALIZATION_ID_PARAM , "p13n2" );
87
+ LOG_PARAMS_2 .putInt (EXTERNAL_ARM_INDEX_PARAM , 1 );
88
+ LOG_PARAMS_2 .putString (EXTERNAL_GROUP_PARAM , "P13N" );
89
+
90
+ INTERNAL_LOG_PARAMS_1 .putString (INTERNAL_CHOICE_ID_PARAM , "id1" );
91
+
92
+ INTERNAL_LOG_PARAMS_2 .putString (INTERNAL_CHOICE_ID_PARAM , "id2" );
73
93
}
74
94
75
95
private static final List <Bundle > FAKE_LOGS = new ArrayList <>();
@@ -89,7 +109,7 @@ public void setUp() {
89
109
.when (mockAnalyticsConnector )
90
110
.logEvent (
91
111
eq (ANALYTICS_ORIGIN_PERSONALIZATION ),
92
- or (eq (ANALYTICS_PULL_EVENT ), eq (ANALYTICS_PULL_EVENT_INTERNAL )),
112
+ or (eq (EXTERNAL_EVENT ), eq (INTERNAL_EVENT )),
93
113
any (Bundle .class ));
94
114
95
115
personalization = new Personalization (mockAnalyticsConnector );
@@ -104,7 +124,7 @@ public void logArmActive_nonPersonalizationKey_notLogged() {
104
124
verify (mockAnalyticsConnector , times (0 ))
105
125
.logEvent (
106
126
eq (ANALYTICS_ORIGIN_PERSONALIZATION ),
107
- or (eq (ANALYTICS_PULL_EVENT ), eq (ANALYTICS_PULL_EVENT_INTERNAL )),
127
+ or (eq (EXTERNAL_EVENT ), eq (INTERNAL_EVENT )),
108
128
any (Bundle .class ));
109
129
assertThat (FAKE_LOGS ).isEmpty ();
110
130
}
@@ -114,68 +134,35 @@ public void logArmActive_singlePersonalizationKey_loggedInternallyAndExternally(
114
134
personalization .logArmActive ("key1" , CONFIG_CONTAINER );
115
135
116
136
verify (mockAnalyticsConnector , times (1 ))
117
- .logEvent (
118
- eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (ANALYTICS_PULL_EVENT ), any (Bundle .class ));
137
+ .logEvent (eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (EXTERNAL_EVENT ), any (Bundle .class ));
119
138
verify (mockAnalyticsConnector , times (1 ))
120
- .logEvent (
121
- eq (ANALYTICS_ORIGIN_PERSONALIZATION ),
122
- eq (ANALYTICS_PULL_EVENT_INTERNAL ),
123
- any (Bundle .class ));
139
+ .logEvent (eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (INTERNAL_EVENT ), any (Bundle .class ));
124
140
assertThat (FAKE_LOGS ).hasSize (2 );
125
141
126
- Bundle logParams = new Bundle ();
127
- logParams .putString (ARM_KEY , "key1" );
128
- logParams .putString (ARM_VALUE , "value1" );
129
- logParams .putString (PERSONALIZATION_ID_LOG_KEY , "p13n1" );
130
- logParams .putInt (ARM_INDEX_LOG_KEY , 0 );
131
- logParams .putString (GROUP , "BASELINE" );
132
- Bundle internalLogParams = new Bundle ();
133
- internalLogParams .putString (CHOICE_ID_LOG_KEY , "id1" );
134
142
assertThat (FAKE_LOGS )
135
143
.comparingElementsUsing (TO_STRING )
136
- .containsExactly (logParams .toString (), internalLogParams .toString ());
144
+ .containsExactly (LOG_PARAMS_1 .toString (), INTERNAL_LOG_PARAMS_1 .toString ());
137
145
}
138
146
139
147
@ Test
140
- public void logArmActive_multiplePersonalizationKeys_loggedMultiple () {
148
+ public void logArmActive_multiplePersonalizationKeys_loggedInternallyAndExternally () {
141
149
personalization .logArmActive ("key1" , CONFIG_CONTAINER );
142
150
personalization .logArmActive ("key2" , CONFIG_CONTAINER );
143
151
personalization .logArmActive ("key1" , CONFIG_CONTAINER );
144
152
145
153
verify (mockAnalyticsConnector , times (2 ))
146
- .logEvent (
147
- eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (ANALYTICS_PULL_EVENT ), any (Bundle .class ));
154
+ .logEvent (eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (EXTERNAL_EVENT ), any (Bundle .class ));
148
155
verify (mockAnalyticsConnector , times (2 ))
149
- .logEvent (
150
- eq (ANALYTICS_ORIGIN_PERSONALIZATION ),
151
- eq (ANALYTICS_PULL_EVENT_INTERNAL ),
152
- any (Bundle .class ));
156
+ .logEvent (eq (ANALYTICS_ORIGIN_PERSONALIZATION ), eq (INTERNAL_EVENT ), any (Bundle .class ));
153
157
assertThat (FAKE_LOGS ).hasSize (4 );
154
158
155
- Bundle logParams1 = new Bundle ();
156
- logParams1 .putString (ARM_KEY , "key1" );
157
- logParams1 .putString (ARM_VALUE , "value1" );
158
- logParams1 .putString (PERSONALIZATION_ID_LOG_KEY , "p13n1" );
159
- logParams1 .putInt (ARM_INDEX_LOG_KEY , 0 );
160
- logParams1 .putString (GROUP , "BASELINE" );
161
- Bundle logParams2 = new Bundle ();
162
- logParams2 .putString (ARM_KEY , "key2" );
163
- logParams2 .putString (ARM_VALUE , "value2" );
164
- logParams2 .putString (PERSONALIZATION_ID_LOG_KEY , "p13n2" );
165
- logParams2 .putInt (ARM_INDEX_LOG_KEY , 1 );
166
- logParams2 .putString (GROUP , "P13N" );
167
159
assertThat (FAKE_LOGS )
168
160
.comparingElementsUsing (TO_STRING )
169
- .containsAtLeast (logParams1 .toString (), logParams2 .toString ())
161
+ .containsAtLeast (LOG_PARAMS_1 .toString (), LOG_PARAMS_2 .toString ())
170
162
.inOrder ();
171
-
172
- Bundle internalLogParams1 = new Bundle ();
173
- internalLogParams1 .putString (CHOICE_ID_LOG_KEY , "id1" );
174
- Bundle internalLogParams2 = new Bundle ();
175
- internalLogParams2 .putString (CHOICE_ID_LOG_KEY , "id2" );
176
163
assertThat (FAKE_LOGS )
177
164
.comparingElementsUsing (TO_STRING )
178
- .containsAtLeast (internalLogParams1 .toString (), internalLogParams2 .toString ())
165
+ .containsAtLeast (INTERNAL_LOG_PARAMS_1 .toString (), INTERNAL_LOG_PARAMS_2 .toString ())
179
166
.inOrder ();
180
167
}
181
168
}
0 commit comments