diff --git a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationHomeViewModel.cs b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationHomeViewModel.cs index c659fd61d4..90bc9d00e1 100644 --- a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationHomeViewModel.cs +++ b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationHomeViewModel.cs @@ -3,13 +3,14 @@ [ReactiveBindable(false)] public partial class MsalAuthenticationHomeViewModel : ObservableObject { - public INavigator Navigator { get; init; } - public IAuthenticationService Authentication { get; init; } + private readonly IDispatcher _dispatcher; + private readonly INavigator _navigator; + private readonly IAuthenticationService _authentication; - public IMsalAuthenticationTaskListEndpoint TaskEndpoint { get; init; } - public ICustomAuthenticationDummyJsonEndpoint? Endpoint { get; init; } + private readonly IMsalAuthenticationTaskListEndpoint _taskEndpoint; + private readonly ICustomAuthenticationDummyJsonEndpoint? _endpoint; - public ITokenCache Tokens { get; } + private readonly ITokenCache _tokens; [ObservableProperty] private MsalAuthenticationToDoTaskListData[]? tasks; @@ -19,43 +20,45 @@ public partial class MsalAuthenticationHomeViewModel : ObservableObject private CustomAuthenticationProduct[]? products; public MsalAuthenticationHomeViewModel( + IDispatcher dispatcher, INavigator navigator, IAuthenticationService auth, ITokenCache tokens, IMsalAuthenticationTaskListEndpoint taskEndpoint, ICustomAuthenticationDummyJsonEndpoint? endpoint=null) { - Navigator = navigator; - Authentication = auth; - TaskEndpoint = taskEndpoint; - Tokens = tokens; - Endpoint = endpoint; + _dispatcher = dispatcher; + _navigator = navigator; + _authentication = auth; + _taskEndpoint = taskEndpoint; + _tokens = tokens; + _endpoint = endpoint; } public async void Logout() { - await Authentication.LogoutAsync(CancellationToken.None); - await Navigator.NavigateViewModelAsync<MsalAuthenticationWelcomeViewModel>(this, qualifier: Qualifiers.ClearBackStack); + await _authentication.LogoutAsync(_dispatcher, CancellationToken.None); + await _navigator.NavigateViewModelAsync<MsalAuthenticationWelcomeViewModel>(this, qualifier: Qualifiers.ClearBackStack); } public async void ClearAccessToken() { - var creds = await Tokens.GetAsync(CancellationToken.None); + var creds = await _tokens.GetAsync(CancellationToken.None); creds.Remove(TokenCacheExtensions.AccessTokenKey); - await Tokens.SaveAsync(await Tokens.GetCurrentProviderAsync(CancellationToken.None) ?? string.Empty, creds, CancellationToken.None); + await _tokens.SaveAsync(await _tokens.GetCurrentProviderAsync(CancellationToken.None) ?? string.Empty, creds, CancellationToken.None); } public async void Retrieve() { - var current = await Tokens.GetCurrentProviderAsync(CancellationToken.None); + var current = await _tokens.GetCurrentProviderAsync(CancellationToken.None); if (current?.StartsWith("Custom") ?? false) { - var response = await Endpoint!.Products(CancellationToken.None); + var response = await _endpoint!.Products(CancellationToken.None); Products = response?.Products?.ToArray(); } else { - var tasksResponse = await TaskEndpoint.GetAllAsync(CancellationToken.None); + var tasksResponse = await _taskEndpoint.GetAllAsync(CancellationToken.None); Tasks = tasksResponse?.Value?.ToArray(); } } diff --git a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationMultiHostInit.cs b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationMultiHostInit.cs index 295fb3fb0f..51ab6c754b 100644 --- a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationMultiHostInit.cs +++ b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationMultiHostInit.cs @@ -1,6 +1,4 @@ -using TestHarness.Ext.Authentication.Custom; - -namespace TestHarness.Ext.Authentication.MSAL; +namespace TestHarness.Ext.Authentication.MSAL; public class MsalAuthenticationMultiHostInit : BaseMsalHostInitialization { diff --git a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationSettingsHostInit.cs b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationSettingsHostInit.cs index da7714df45..665caf7c53 100644 --- a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationSettingsHostInit.cs +++ b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationSettingsHostInit.cs @@ -1,6 +1,6 @@ namespace TestHarness.Ext.Authentication.MSAL; -public class MsalAuthenticationSettingsHostInit : BaseHostInitialization +public class MsalAuthenticationSettingsHostInit : BaseMsalHostInitialization { protected override string[] ConfigurationFiles => new string[] { "TestHarness.Ext.Authentication.Msal.appsettings.msalauthentication.json", "TestHarness.Ext.Authentication.Msal.appsettings.msal.json"}; diff --git a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationWelcomeViewModel.cs b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationWelcomeViewModel.cs index 89e4b69241..d47b4d1920 100644 --- a/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationWelcomeViewModel.cs +++ b/testing/TestHarness/TestHarness.Shared/Ext/Authentication/Msal/MsalAuthenticationWelcomeViewModel.cs @@ -1,6 +1,6 @@ namespace TestHarness.Ext.Authentication.MSAL; -internal record MsalAuthenticationWelcomeViewModel(INavigator Navigator, IAuthenticationService auth, IAuthenticationService Authentication, IAuthenticationRouteInfo RouteInfo) +internal record MsalAuthenticationWelcomeViewModel(IDispatcher Dispatcher, INavigator Navigator, IAuthenticationService auth, IAuthenticationService Authentication, IAuthenticationRouteInfo RouteInfo) { public string[] Providers => Authentication.Providers; @@ -19,7 +19,7 @@ public async void Login() {nameof(CustomAuthenticationCredentials.Password),DummyJsonEndpointConstants.ValidPassword } } : default; - var authenticated =await Authentication.LoginAsync(credentials: creds, provider: SelectedProvider); + var authenticated =await Authentication.LoginAsync(Dispatcher, credentials: creds, provider: SelectedProvider); if (authenticated) { await Navigator.NavigateViewModelAsync(this, RouteInfo.HomeViewModel, qualifier: Qualifiers.ClearBackStack);