@@ -4174,6 +4174,75 @@ public void shouldSetExternalIdWithAuthHashBeforeRegistration() throws Exception
4174
4174
assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4175
4175
}
4176
4176
4177
+ @ Test
4178
+ public void shouldAlwaysSetExternalIdWithAuthHashAAfterRegistration () throws Exception {
4179
+ OneSignalInit ();
4180
+ threadAndTaskWait ();
4181
+
4182
+ String testExternalId = "test_ext_id" ;
4183
+ String mockExternalIdHash = new String (new char [64 ]).replace ('\0' , '0' );
4184
+
4185
+ OneSignal .setExternalUserId (testExternalId , mockExternalIdHash );
4186
+ threadAndTaskWait ();
4187
+
4188
+ ShadowOneSignalRestClient .Request registrationRequest = ShadowOneSignalRestClient .requests .get (2 );
4189
+ assertEquals (ShadowOneSignalRestClient .REST_METHOD .PUT , registrationRequest .method );
4190
+ assertEquals (testExternalId , registrationRequest .payload .getString ("external_user_id" ));
4191
+ assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4192
+
4193
+ fastColdRestartApp ();
4194
+
4195
+ advanceSystemTimeBy (60 );
4196
+ OneSignalInit ();
4197
+ threadAndTaskWait ();
4198
+
4199
+ ShadowOneSignalRestClient .Request registrationRequestAfterColdStart = ShadowOneSignalRestClient .requests .get (4 );
4200
+ assertEquals (REST_METHOD .POST , registrationRequestAfterColdStart .method );
4201
+ assertEquals (mockExternalIdHash , registrationRequestAfterColdStart .payload .getString ("external_user_id_auth_hash" ));
4202
+ }
4203
+
4204
+ @ Test
4205
+ public void shouldAlwaysSetExternalIdAndEmailWithAuthHashAAfterRegistration () throws Exception {
4206
+ OneSignalInit ();
4207
+ threadAndTaskWait ();
4208
+
4209
+ String testExternalId = "test_ext_id" ;
4210
+ String mockExternalIdHash = new String (new char [64 ]).replace ('\0' , '0' );
4211
+
4212
+ String email = "josh@onesignal.com" ;
4213
+ String mockEmailHash = new String (new char [64 ]).replace ('\0' , '0' );
4214
+
4215
+ OneSignal .setExternalUserId (testExternalId , mockExternalIdHash );
4216
+ OneSignal .setEmail (email , mockEmailHash );
4217
+ threadAndTaskWait ();
4218
+
4219
+ ShadowOneSignalRestClient .Request registrationRequest = ShadowOneSignalRestClient .requests .get (2 );
4220
+ assertEquals (ShadowOneSignalRestClient .REST_METHOD .PUT , registrationRequest .method );
4221
+ assertEquals (testExternalId , registrationRequest .payload .getString ("external_user_id" ));
4222
+ assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4223
+
4224
+ ShadowOneSignalRestClient .Request emailPost = ShadowOneSignalRestClient .requests .get (3 );
4225
+ assertEquals (REST_METHOD .POST , emailPost .method );
4226
+ assertEquals (email , emailPost .payload .getString ("identifier" ));
4227
+ assertEquals (11 , emailPost .payload .getInt ("device_type" ));
4228
+ assertEquals (mockEmailHash , emailPost .payload .getString ("email_auth_hash" ));
4229
+
4230
+ fastColdRestartApp ();
4231
+
4232
+ advanceSystemTimeBy (60 );
4233
+ OneSignalInit ();
4234
+ threadAndTaskWait ();
4235
+
4236
+ ShadowOneSignalRestClient .Request registrationRequestAfterColdStart = ShadowOneSignalRestClient .requests .get (6 );
4237
+ assertEquals (REST_METHOD .POST , registrationRequestAfterColdStart .method );
4238
+ assertEquals (mockExternalIdHash , registrationRequestAfterColdStart .payload .getString ("external_user_id_auth_hash" ));
4239
+
4240
+ ShadowOneSignalRestClient .Request emailPostAfterColdStart = ShadowOneSignalRestClient .requests .get (7 );
4241
+ assertEquals (REST_METHOD .POST , emailPostAfterColdStart .method );
4242
+ assertEquals (11 , emailPostAfterColdStart .payload .getInt ("device_type" ));
4243
+ assertEquals (mockEmailHash , emailPostAfterColdStart .payload .getString ("email_auth_hash" ));
4244
+ }
4245
+
4177
4246
@ Test
4178
4247
public void shouldRemoveExternalUserId () throws Exception {
4179
4248
OneSignal .setExternalUserId ("test_ext_id" );
0 commit comments