@@ -4328,6 +4328,75 @@ public void shouldSetExternalIdWithAuthHashBeforeRegistration() throws Exception
4328
4328
assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4329
4329
}
4330
4330
4331
+ @ Test
4332
+ public void shouldAlwaysSetExternalIdWithAuthHashAAfterRegistration () throws Exception {
4333
+ OneSignalInit ();
4334
+ threadAndTaskWait ();
4335
+
4336
+ String testExternalId = "test_ext_id" ;
4337
+ String mockExternalIdHash = new String (new char [64 ]).replace ('\0' , '0' );
4338
+
4339
+ OneSignal .setExternalUserId (testExternalId , mockExternalIdHash );
4340
+ threadAndTaskWait ();
4341
+
4342
+ ShadowOneSignalRestClient .Request registrationRequest = ShadowOneSignalRestClient .requests .get (2 );
4343
+ assertEquals (ShadowOneSignalRestClient .REST_METHOD .PUT , registrationRequest .method );
4344
+ assertEquals (testExternalId , registrationRequest .payload .getString ("external_user_id" ));
4345
+ assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4346
+
4347
+ fastColdRestartApp ();
4348
+
4349
+ time .advanceSystemTimeBy (60 );
4350
+ OneSignalInit ();
4351
+ threadAndTaskWait ();
4352
+
4353
+ ShadowOneSignalRestClient .Request registrationRequestAfterColdStart = ShadowOneSignalRestClient .requests .get (4 );
4354
+ assertEquals (REST_METHOD .POST , registrationRequestAfterColdStart .method );
4355
+ assertEquals (mockExternalIdHash , registrationRequestAfterColdStart .payload .getString ("external_user_id_auth_hash" ));
4356
+ }
4357
+
4358
+ @ Test
4359
+ public void shouldAlwaysSetExternalIdAndEmailWithAuthHashAfterRegistration () throws Exception {
4360
+ OneSignalInit ();
4361
+ threadAndTaskWait ();
4362
+
4363
+ String testExternalId = "test_ext_id" ;
4364
+ String mockExternalIdHash = new String (new char [64 ]).replace ('\0' , '0' );
4365
+
4366
+ String email = "josh@onesignal.com" ;
4367
+ String mockEmailHash = new String (new char [64 ]).replace ('\0' , '0' );
4368
+
4369
+ OneSignal .setExternalUserId (testExternalId , mockExternalIdHash );
4370
+ OneSignal .setEmail (email , mockEmailHash );
4371
+ threadAndTaskWait ();
4372
+
4373
+ ShadowOneSignalRestClient .Request registrationRequest = ShadowOneSignalRestClient .requests .get (2 );
4374
+ assertEquals (ShadowOneSignalRestClient .REST_METHOD .PUT , registrationRequest .method );
4375
+ assertEquals (testExternalId , registrationRequest .payload .getString ("external_user_id" ));
4376
+ assertEquals (mockExternalIdHash , registrationRequest .payload .getString ("external_user_id_auth_hash" ));
4377
+
4378
+ ShadowOneSignalRestClient .Request emailPost = ShadowOneSignalRestClient .requests .get (3 );
4379
+ assertEquals (REST_METHOD .POST , emailPost .method );
4380
+ assertEquals (email , emailPost .payload .getString ("identifier" ));
4381
+ assertEquals (11 , emailPost .payload .getInt ("device_type" ));
4382
+ assertEquals (mockEmailHash , emailPost .payload .getString ("email_auth_hash" ));
4383
+
4384
+ fastColdRestartApp ();
4385
+
4386
+ time .advanceSystemTimeBy (60 );
4387
+ OneSignalInit ();
4388
+ threadAndTaskWait ();
4389
+
4390
+ ShadowOneSignalRestClient .Request registrationRequestAfterColdStart = ShadowOneSignalRestClient .requests .get (6 );
4391
+ assertEquals (REST_METHOD .POST , registrationRequestAfterColdStart .method );
4392
+ assertEquals (mockExternalIdHash , registrationRequestAfterColdStart .payload .getString ("external_user_id_auth_hash" ));
4393
+
4394
+ ShadowOneSignalRestClient .Request emailPostAfterColdStart = ShadowOneSignalRestClient .requests .get (7 );
4395
+ assertEquals (REST_METHOD .POST , emailPostAfterColdStart .method );
4396
+ assertEquals (11 , emailPostAfterColdStart .payload .getInt ("device_type" ));
4397
+ assertEquals (mockEmailHash , emailPostAfterColdStart .payload .getString ("email_auth_hash" ));
4398
+ }
4399
+
4331
4400
@ Test
4332
4401
public void shouldRemoveExternalUserId () throws Exception {
4333
4402
OneSignal .setExternalUserId ("test_ext_id" );
0 commit comments