microsoft-authentication-library-for-android icon indicating copy to clipboard operation
microsoft-authentication-library-for-android copied to clipboard

Remove native auth from MSAL test app

Open Yuki-YuXin opened this issue 10 months ago • 2 comments

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

Yuki-YuXin avatar Jan 23 '25 19:01 Yuki-YuXin

❌ Work item link check failed. Description does not contain AB#{ID}.

Click here to Learn more.

github-actions[bot] avatar Jan 23 '25 19:01 github-actions[bot]

@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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

Yuki-YuXin avatar Jan 24 '25 15:01 Yuki-YuXin