microsoft-authentication-library-for-android
microsoft-authentication-library-for-android copied to clipboard
Remove native auth from MSAL test app
Introduction
Native auth adopted E2E automation test without any UI. Remove/Revert previous changes to MSAL test app.
Reference
The previous merged related PR, especially the first one. https://github.com/AzureAD/microsoft-authentication-library-for-android/pull/2001 https://github.com/AzureAD/microsoft-authentication-library-for-android/pull/2143 https://github.com/AzureAD/microsoft-authentication-library-for-android/pull/2118
@nilo-ms This part of the code was created before the idea of E2E automation test was born and implemented, during that time all native auth tests relied on manual testing, so we copied a sample app with some changes and put it into the MSAL test app to make it a manual test environment.
For the reason below:
-
At the moment, E2E automation test covers >80% of our test cases and the remaining <20% can be done entirely using Sample app. Test app are more than 90% replicas of Sample app and the differentiation(attributes) has been covered by automation test.
-
At that time(2024,Jan), the idea of paving the way for the subsequent automation test existed in the Test app, but after the practice of the E2E automation test, we found that the UI is not necessary for the test of SDK reliability.
-
No one is maintaining this portion of the Test app code like we did for Sample app (Reference: The last maintenance was in 2024,Jun). Since then we added MFA feature and made MFA private preview release using E2E automation tests without adding or updating Test app for manual test cases. Test app is not compatible/behind with the latest MSAL Native Auth section. In other words, man-made long-term bugs.
-
In practice, release engineers use Sample app more than Test app because they are separate repository, easy testing by switching branches. However, the Test app is embedded in the MSAL package. Each modification to the Test App is equivalent to a modification to the MSAL package. This partial redundancy is equal to the redundancy of the MSAL package.
If you hold another view on this, I'd be happy to bring it up as a topic in our panel discussion on Thursday.