Skip to content

fix(AuthFlowTesterUITests): remove beacon RTR workaround (W-24028119) - #4166

Merged
wmathurin merged 1 commit into
forcedotcom:devfrom
wmathurin:remove-beacon-rtr-workaround
Sep 2, 2026
Merged

wmathurin merged 1 commit into
forcedotcom:devfrom
wmathurin:remove-beacon-rtr-workaround

Conversation

@wmathurin

Copy link
Copy Markdown
Contributor

Summary

Removes the beacon_ clause from expectsRefreshTokenRotation in UITestConfigUtils.swift.

The server bug (W-23971480) that caused beacon apps to unconditionally rotate the refresh token on every refresh has been fixed in sdb38. The workaround and its comment are no longer needed — beacon_opaque and beacon_jwt tests should now pass without the special-case RTR expectation.

Test plan

  • BeaconLoginTests.testBeaconOpaque_DefaultScopes — was failing with RTR mismatch, now passes
  • Full beacon test suite on a connected org

@github-actions

github-actions Bot commented Sep 2, 2026 •

Copy link
Copy Markdown
TestsPassed ☑️SkippedFailed ❌️
SalesforceSDKCore iOS ^18 Test Results1023 ran1020 ✅3 ❌
TestResult
SalesforceSDKCore iOS ^18 Test Results
testPasswordValidation()❌ failure
SalesforceRestAPITests.testRestUrlForLoginServiceHost❌ failure
SalesforceRestAPITests.testUploadProfilePhotoCommunity❌ failure

@codecov

codecov Bot commented Sep 2, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 70.98%. Comparing base (ec034aa) to head (419b265).

Additional details and impacted files
@@            Coverage Diff             @@
##              dev    #4166      +/-   ##
==========================================
- Coverage   71.07%   70.98%   -0.09%     
==========================================
  Files         254      254              
  Lines       22916    22916              
==========================================
- Hits        16288    16268      -20     
- Misses       6628     6648      +20     
Components Coverage Δ
Analytics 70.78% <ø> (ø)
Common 70.88% <ø> (ø)
Core 66.43% <ø> (-0.14%) ⬇️
SmartStore 73.45% <ø> (ø)
MobileSync 88.84% <ø> (ø)
see 7 files with indirect coverage changes
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

…1480 server fix

The server bug that caused beacon apps to unconditionally rotate the refresh
token on every refresh (W-23971480) has been fixed in sdb38. Drop the
beacon_ clause from expectsRefreshTokenRotation so beacon_opaque and
beacon_jwt tests no longer expect rotation.
@wmathurin
wmathurin force-pushed the remove-beacon-rtr-workaround branch from 191a508 to 419b265 Compare September 2, 2026 03:57
@github-actions

github-actions Bot commented Sep 2, 2026 •

Copy link
Copy Markdown
TestsPassed ☑️SkippedFailed ❌️
AuthFlowTester UI Test Results all111 ran26 ✅85 ❌
TestResult
AuthFlowTester UI Test Results all
AuthFlowTesterUITests.xctest
RTRLoginTests.testECAOpaqueRtr_Hybrid()❌ failure
RTRLoginTests.testECAOpaqueRtr_NoHybrid_WithRestart()❌ failure
RTRLoginTests.testECAOpaqueRtr_NoHybrid()❌ failure
RTRLoginTests.testECAJwtRtr_NoHybrid()❌ failure
RTRLoginTests.testECAJwtRtr_NoHybrid_WithRestart()❌ failure
RTRLoginTests.testECAJwtRtr_Hybrid_WithRestart()❌ failure
RTRLoginTests.testECAOpaqueRtr_Hybrid_WithRestart()❌ failure
RTRLoginTests.testECAJwtRtr_Hybrid()❌ failure
LoginWithRestartTests.testCAOpaque_DefaultScopes_WithRestart()❌ failure
LoginWithRestartTests.testMultiUserRestart()❌ failure
LoginWithRestartTests.testBeaconJwt_DefaultScopes_DynamicConfiguration_WithRestart()❌ failure
LoginWithRestartTests.testECAOpaque_DefaultScopes_WithRestart()❌ failure
LoginWithRestartTests.testBeaconJwt_SubsetScopes_DynamicConfiguration_WithRestart()❌ failure
LoginWithRestartTests.testECAJwt_SubsetScopes_DynamicConfiguration_WithRestart()❌ failure
LoginWithRestartTests.testBeaconOpaque_DefaultScopes_WithRestart()❌ failure
LoginWithRestartTests.testECAJwt_DefaultScopes_DynamicConfiguration_WithRestart()❌ failure
LoginWithRestartTests.testWelcomeDiscovery_WithRestart()❌ failure
LoginWithRestartTests.testAdvancedAuth_WithRestart()❌ failure
WelcomeLoginTests.testWelcomeDiscovery_RegularAuthLoginHost()❌ failure
WelcomeLoginTests.testWelcomeDiscovery_RegularAuthLoginHost_DynamicConfig()❌ failure
WelcomeLoginTests.testWelcomeDiscovery_AdvancedAuthLoginHost()❌ failure
WelcomeLoginTests.testWelcomeDiscovery_AdvancedAuthLoginHost_DynamicConfig()❌ failure
DPoPLoginTests.test_givenDPoPECA_whenAdminLogin_thenDPoPBindingWorksThroughBrowser()❌ failure
DPoPLoginTests.test_givenDPoPHybrid_whenLogin_thenTokenTypeIsDPoPAndRefreshWorks()❌ failure
DPoPLoginTests.test_givenDPoPRtr_whenLoginViaPoolServer_thenRefreshTokenSurvivesIdentityFetch()❌ failure
DPoPLoginTests.test_givenDPoP_whenLoginViaPoolServer_thenTokenTypeIsDPoP()❌ failure
DPoPLoginTests.test_givenTwoDPoPUsers_whenSwitchAndRefresh_thenTokensAndNoncesAreIsolated()❌ failure
DPoPLoginTests.test_givenDPoPUser_whenAppRestart_thenSessionAndKeypairSurvive()❌ failure
DPoPLoginTests.test_givenDPoPSession_whenDowngradeFromDPoP_thenBearerUnbound()❌ failure
DPoPLoginTests.test_givenDPoPUser_whenMigrateToDPoPRtr_thenRefreshTokenRotationEnabled()❌ failure
DPoPLoginTests.test_givenDPoPNoHybrid_whenLogin_thenTokenTypeIsDPoPAndRefreshWorks()❌ failure
DPoPLoginTests.test_givenDPoPRtrNoHybrid_whenLogin_thenRefreshTokenRotatesAndDPoPBindingHolds()❌ failure
DPoPLoginTests.test_givenDPoPRtrHybrid_whenLogin_thenRefreshTokenRotatesAndDPoPBindingHolds()❌ failure
DPoPLoginTests.test_givenBearerSession_whenUpgradeToDPoP_thenDPoPBound()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconOpaque_AllScopes()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconJwt_SubsetScopes()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconJwt_AllScopes()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconOpaque_SubsetScopes()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconOpaque_DefaultScopes()❌ failure
AdvancedAuthBeaconLoginTests.testBeaconJwt_DefaultScopes()❌ failure
RefreshTokenMigrationWithRestartTests.testMigrateScopeAddition_WithRestart()❌ failure
RefreshTokenMigrationWithRestartTests.testMigrateMultipleUsers_WithRestart()❌ failure
RefreshTokenMigrationWithRestartTests.testMigrateCAToECA_WithRestart()❌ failure
RefreshTokenMigrationWithRestartTests.testMigrateBeaconScopeAddition_WithRestart()❌ failure
ECALoginTests.testECAOpaque_SubsetScopes()❌ failure
ECALoginTests.testDynamicConfigurationWithInvalidScope()❌ failure
ECALoginTests.testECAJwt_SubsetScopes()❌ failure
ECALoginTests.testDynamicConfigurationWithInvalidClientId()❌ failure
ECALoginTests.testECAOpaque_AllScopes()❌ failure
ECALoginTests.testECAJwt_DefaultScopes()❌ failure
LegacyLoginTests.testCAOpaque_DefaultScopes_UserAgentFlow()❌ failure
LegacyLoginTests.testCAOpaque_SubsetScopes_WebServerFlow()❌ failure
RefreshTokenMigrationTests.testFlagDiversity_MigratedBeaconJwtVsNonHybridOpaque()❌ failure
RefreshTokenMigrationTests.testMigrateCAToBeaconAndBack()❌ failure
RefreshTokenMigrationTests.testMigrateCA_AddMoreScopes()❌ failure
RefreshTokenMigrationTests.testMigrateOneUserOnly()❌ failure
RefreshTokenMigrationTests.testMigrateCAToECA()❌ failure
RefreshTokenMigrationTests.testMigrateECA_AddMoreScopes()❌ failure
RefreshTokenMigrationTests.testMigrateBeaconOpaqueToJWTAndBack()❌ failure
RefreshTokenMigrationTests.testMigrateCAUserAgentToECAWebServer()❌ failure
RefreshTokenMigrationTests.testMigrateBeaconToCA()❌ failure
RefreshTokenMigrationTests.testMigrateBeacon_AddMoreScopes()❌ failure
BeaconLoginTests.testBeaconOpaque_SubsetScopes()❌ failure
BeaconLoginTests.testBeaconJwt_SubsetScopes()❌ failure
BeaconLoginTests.testBeaconJwt_AllScopes()❌ failure
BeaconLoginTests.testBeaconOpaque_DefaultScopes()❌ failure
MultiUserLoginTests.testFirstDynamic_SecondStatic_DifferentApps()❌ failure
MultiUserLoginTests.testFlagDiversity_NonHybridOpaqueVsHybridJwt()❌ failure
MultiUserLoginTests.testBothStatic_DifferentApps()❌ failure
MultiUserLoginTests.testLogoutUserWithDynamicConfig_OtherUserUnaffected()❌ failure
MultiUserLoginTests.testFlagDiversity_BeaconNonHybridJwtVsHybridOpaque()❌ failure
MultiUserLoginTests.test_dpopAndNonDPoPUsers_flagOff_maintainIndependentProofs()❌ failure
MultiUserLoginTests.testBothStatic_SameApp_SameScopes()❌ failure
MultiUserLoginTests.testAdvancedAuthUser_HasBWFlag_RegularAuthUser_DoesNot()❌ failure
MultiUserLoginTests.testRevokeAccessForUserWithDynamicConfig_OtherUserUnaffected()❌ failure
MultiUserLoginTests.testFirstStatic_SecondDynamic_DifferentApps()❌ failure
MultiUserLoginTests.testDifferentAppTypes_LogoutCaUser_EcaUserUnaffected()❌ failure
MultiUserLoginTests.testBeaconAndNonBeacon_MultiUser()❌ failure
MultiUserLoginTests.testBothStatic_SameApp_DifferentScopes()❌ failure
ForceAdvancedAuthTests.testForceAdvancedAuth_Disabled_BackAndGearStillPresent()❌ failure
ForceAdvancedAuthTests.testForceAdvancedAuth_AddAdditionalUser_BackButtonAccessible()❌ failure
ForceAdvancedAuthTests.testForceAdvancedAuth_Disabled_StandardServer_UsesInAppWebView()❌ failure
LegacyLoginTestsNotHybrid.testCAOpaque_DefaultScopes_UserAgentFlow()❌ failure
LoginForAdminTests.testLoginForAdmin_WebServerFlowEnabled()❌ failure
LoginForAdminTests.testLoginForAdmin_WebServerFlowDisabled()❌ failure

@wmathurin

Copy link
Copy Markdown
Contributor Author

The AdvancedAuthBeaconLoginTests failures ("Refresh token should not have changed (non-RTR app)") were caused by a stale auto-installed ECA for the beacon apps on advauthflowtestingmsdksdb38.test1.my.pc-rnd.salesforce.com — the server-side W-23971480 fix was deployed there but the old ECA was still in place, causing RTR to fire. The forgotten ECA has now been deleted; re-running the affected tests.

@wmathurin
wmathurin merged commit 36bc477 into forcedotcom:dev Sep 2, 2026
21 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants