@@ -3532,6 +3532,61 @@ - (void)testExitLiveActivity {
35323532 XCTAssertEqualObjects (OneSignalClientOverrider.lastUrl , testExitLiveActivityCorrectURL);
35333533
35343534}
3535+
3536+ - (void )testExitLiveActivityURLUnsafeSpace {
3537+
3538+ NSString *testAppId = @" b2f7f966-d8cc-11e4-bed1-df8f05be55ba" ;
3539+ NSString *testLiveActivityURLUnsafe = @" onesignal 01012022" ;
3540+ NSString *testLiveActivityURLSafe = @" onesignal%2001012022" ;
3541+ NSString *testUserId = @" 1234" ;
3542+
3543+ [UnitTestCommonMethods initOneSignal_andThreadWait ];
3544+
3545+ [OneSignal exitLiveActivity: testLiveActivityURLUnsafe
3546+ withSuccess: nil
3547+ withFailure: nil ];
3548+
3549+ [UnitTestCommonMethods runBackgroundThreads ];
3550+
3551+ // check to make sure the OSRequestExitLiveActivity HTTP call was made, and was formatted correctly
3552+ XCTAssertTrue ([NSStringFromClass ([OSRequestLiveActivityExit class ]) isEqualToString: OneSignalClientOverrider.lastHTTPRequestType]);
3553+
3554+ let testExitLiveActivityCorrectURL = [NSString stringWithFormat: @" https://api.onesignal.com/apps/%@ /live_activities/%@ /token/%@ " ,
3555+ testAppId,
3556+ testLiveActivityURLSafe,
3557+ testUserId];
3558+
3559+ XCTAssertEqualObjects (OneSignalClientOverrider.lastUrl , testExitLiveActivityCorrectURL);
3560+
3561+ }
3562+
3563+ - (void )testExitLiveActivityURLUnsafeSlash {
3564+
3565+ NSString *testAppId = @" b2f7f966-d8cc-11e4-bed1-df8f05be55ba" ;
3566+ NSString *testLiveActivityURLUnsafe = @" onesignal/01012022" ;
3567+ NSString *testLiveActivityURLSafe = @" onesignal%2F 01012022" ;
3568+ NSString *testUserId = @" 1234" ;
3569+
3570+ [UnitTestCommonMethods initOneSignal_andThreadWait ];
3571+
3572+ [OneSignal exitLiveActivity: testLiveActivityURLUnsafe
3573+ withSuccess: nil
3574+ withFailure: nil ];
3575+
3576+ [UnitTestCommonMethods runBackgroundThreads ];
3577+
3578+ // check to make sure the OSRequestExitLiveActivity HTTP call was made, and was formatted correctly
3579+ XCTAssertTrue ([NSStringFromClass ([OSRequestLiveActivityExit class ]) isEqualToString: OneSignalClientOverrider.lastHTTPRequestType]);
3580+
3581+ let testExitLiveActivityCorrectURL = [NSString stringWithFormat: @" https://api.onesignal.com/apps/%@ /live_activities/%@ /token/%@ " ,
3582+ testAppId,
3583+ testLiveActivityURLSafe,
3584+ testUserId];
3585+
3586+ XCTAssertEqualObjects (OneSignalClientOverrider.lastUrl , testExitLiveActivityCorrectURL);
3587+
3588+ }
3589+
35353590- (void )testExitLiveActivityEarly {
35363591
35373592 NSString *testAppId = @" b2f7f966-d8cc-11e4-bed1-df8f05be55ba" ;
0 commit comments