99using Microsoft . DotNet . Cli . NuGetPackageDownloader ;
1010using Microsoft . DotNet . Cli . Utils ;
1111using Microsoft . DotNet . Workloads . Workload ;
12+ using Microsoft . DotNet . Workloads . Workload . Config ;
1213using Microsoft . DotNet . Workloads . Workload . Install ;
1314using Microsoft . DotNet . Workloads . Workload . List ;
1415using Microsoft . Extensions . EnvironmentAbstractions ;
@@ -67,7 +68,7 @@ public void GivenWorkloadInstallItCanInstallPacks(bool userLocal, string sdkVers
6768 {
6869 var mockWorkloadIds = new WorkloadId [ ] { new WorkloadId ( "xamarin-android" ) } ;
6970 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" , "--skip-manifest-update" } ) ;
70- ( _ , var installManager , var installer , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
71+ ( _ , var installManager , var installer , _ , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
7172
7273 installManager . Execute ( )
7374 . Should ( ) . Be ( 0 ) ;
@@ -88,7 +89,7 @@ public void GivenWorkloadInstallItCanRollBackPackInstallation(bool userLocal, st
8889 {
8990 var mockWorkloadIds = new WorkloadId [ ] { new WorkloadId ( "xamarin-android" ) , new WorkloadId ( "xamarin-android-build" ) } ;
9091 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" , "xamarin-android-build" , "--skip-manifest-update" } ) ;
91- ( _ , var installManager , var installer , var workloadResolver , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , failingWorkload : "xamarin-android-build" , installedFeatureBand : sdkVersion ) ;
92+ ( _ , var installManager , var installer , var workloadResolver , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , failingWorkload : "xamarin-android-build" , installedFeatureBand : sdkVersion ) ;
9293
9394 var exceptionThrown = Assert . Throws < GracefulException > ( ( ) => installManager . Execute ( ) ) ;
9495 exceptionThrown . Message . Should ( ) . Contain ( "Failing workload: xamarin-android-build" ) ;
@@ -128,8 +129,9 @@ public void GivenWorkloadInstallOnFailingRollbackItDisplaysTopLevelError()
128129 public void GivenWorkloadInstallItCanUpdateAdvertisingManifests ( bool userLocal , string sdkVersion )
129130 {
130131 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" } ) ;
131- ( _ , var installManager , var installer , _ , var manifestUpdater , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
132+ ( _ , var installManager , var installer , _ , var manifestUpdater , _ , var resolverFactory ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
132133
134+ new WorkloadConfigCommand ( Parser . Instance . Parse ( [ "dotnet" , "workload" , "config" , "--update-mode" , "manifests" ] ) , workloadResolverFactory : resolverFactory ) . Execute ( ) . Should ( ) . Be ( 0 ) ;
133135 installManager . Execute ( )
134136 . Should ( ) . Be ( 0 ) ;
135137
@@ -216,9 +218,10 @@ public void GivenWorkloadInstallItCanUpdateInstalledManifests(bool userLocal, st
216218 {
217219 new ( new ManifestVersionUpdate ( new ManifestId ( "mock-manifest" ) , new ManifestVersion ( "2.0.0" ) , featureBand . ToString ( ) ) , null ) ,
218220 } ;
219- ( _ , var installManager , var installer , _ , _ , _ ) =
221+ ( _ , var installManager , var installer , _ , _ , _ , var resolverFactory ) =
220222 GetTestInstallers ( parseResult , userLocal , sdkVersion , manifestUpdates : manifestsToUpdate , installedFeatureBand : sdkVersion ) ;
221223
224+ new WorkloadConfigCommand ( Parser . Instance . Parse ( [ "dotnet" , "workload" , "config" , "--update-mode" , "manifests" ] ) , workloadResolverFactory : resolverFactory ) . Execute ( ) . Should ( ) . Be ( 0 ) ;
222225 installManager . Execute ( )
223226 . Should ( ) . Be ( 0 ) ;
224227
@@ -247,9 +250,10 @@ public void GivenWorkloadInstallFromCacheItInstallsCachedManifest(bool userLocal
247250 {
248251 "dotnet" , "workload" , "install" , "xamarin-android" , "--from-cache" , cachePath
249252 } ) ;
250- ( _ , var installManager , var installer , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion ,
253+ ( _ , var installManager , var installer , _ , _ , _ , var resolverFactory ) = GetTestInstallers ( parseResult , userLocal , sdkVersion ,
251254 tempDirManifestPath : _manifestPath , manifestUpdates : manifestsToUpdate , installedFeatureBand : sdkVersion ) ;
252255
256+ new WorkloadConfigCommand ( Parser . Instance . Parse ( [ "dotnet" , "workload" , "config" , "--update-mode" , "manifests" ] ) , workloadResolverFactory : resolverFactory ) . Execute ( ) . Should ( ) . Be ( 0 ) ;
253257 installManager . Execute ( ) ;
254258
255259 installer . InstalledManifests [ 0 ] . manifestUpdate . ManifestId . Should ( ) . Be ( manifestsToUpdate [ 0 ] . ManifestUpdate . ManifestId ) ;
@@ -267,7 +271,7 @@ public void GivenWorkloadInstallItCanDownloadToOfflineCache(bool userLocal, stri
267271 {
268272 var cachePath = Path . Combine ( _testAssetsManager . CreateTestDirectory ( identifier : AppendForUserLocal ( "mockCache_" , userLocal ) + sdkVersion ) . Path , "mockCachePath" ) ;
269273 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" , "--download-to-cache" , cachePath } ) ;
270- ( _ , var installManager , _ , _ , var manifestUpdater , var packageDownloader ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , tempDirManifestPath : _manifestPath , installedFeatureBand : sdkVersion ) ;
274+ ( _ , var installManager , _ , _ , var manifestUpdater , var packageDownloader , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , tempDirManifestPath : _manifestPath , installedFeatureBand : sdkVersion ) ;
271275
272276 installManager . Execute ( ) ;
273277
@@ -291,7 +295,7 @@ public void GivenWorkloadInstallItCanInstallFromOfflineCache(bool userLocal, str
291295 var mockWorkloadIds = new WorkloadId [ ] { new WorkloadId ( "xamarin-android" ) } ;
292296 var cachePath = "mockCachePath" ;
293297 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" , "--from-cache" , cachePath } ) ;
294- ( _ , var installManager , var installer , _ , _ , var nugetDownloader ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
298+ ( _ , var installManager , var installer , _ , _ , var nugetDownloader , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , installedFeatureBand : sdkVersion ) ;
295299
296300 installManager . Execute ( ) ;
297301
@@ -311,7 +315,7 @@ public void GivenWorkloadInstallItCanInstallFromOfflineCache(bool userLocal, str
311315 public void GivenWorkloadInstallItPrintsDownloadUrls ( bool userLocal , string sdkVersion )
312316 {
313317 var parseResult = Parser . Instance . Parse ( new string [ ] { "dotnet" , "workload" , "install" , "xamarin-android" , "--print-download-link-only" } ) ;
314- ( _ , var installManager , _ , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , tempDirManifestPath : _manifestPath , installedFeatureBand : sdkVersion ) ;
318+ ( _ , var installManager , _ , _ , _ , _ , _ ) = GetTestInstallers ( parseResult , userLocal , sdkVersion , tempDirManifestPath : _manifestPath , installedFeatureBand : sdkVersion ) ;
315319
316320 installManager . Execute ( ) ;
317321
@@ -455,7 +459,7 @@ static void CreateFile(string path)
455459 . Should ( ) . BeEquivalentTo ( new string [ ] { prev7FormattedFeatureVersion , rc1FormattedFeatureVersion } ) ;
456460 }
457461
458- private ( string , WorkloadInstallCommand , MockPackWorkloadInstaller , IWorkloadResolver , MockWorkloadManifestUpdater , MockNuGetPackageDownloader ) GetTestInstallers (
462+ private ( string , WorkloadInstallCommand , MockPackWorkloadInstaller , IWorkloadResolver , MockWorkloadManifestUpdater , MockNuGetPackageDownloader , IWorkloadResolverFactory ) GetTestInstallers (
459463 ParseResult parseResult ,
460464 bool userLocal ,
461465 string sdkVersion ,
@@ -491,7 +495,7 @@ static void CreateFile(string path)
491495 nugetPackageDownloader : nugetDownloader ,
492496 workloadManifestUpdater : manifestUpdater ) ;
493497
494- return ( testDirectory , installManager , installer , workloadResolver , manifestUpdater , nugetDownloader ) ;
498+ return ( testDirectory , installManager , installer , workloadResolver , manifestUpdater , nugetDownloader , workloadResolverFactory ) ;
495499 }
496500
497501 [ Fact ]
@@ -627,7 +631,7 @@ public void ShowManifestUpdatesWhenVerbosityIsDetailedOrDiagnostic(string verbos
627631 {
628632 new ( new ManifestVersionUpdate ( new ManifestId ( "mock-manifest" ) , new ManifestVersion ( "2.0.0" ) , sdkFeatureBand ) , null ) ,
629633 } ;
630- ( _ , var installManager , _ , _ , _ , _ ) =
634+ ( _ , var installManager , _ , _ , _ , _ , _ ) =
631635 GetTestInstallers ( parseResult , true , sdkFeatureBand , manifestUpdates : manifestsToUpdate ) ;
632636
633637 installManager . Execute ( ) . Should ( ) . Be ( 0 ) ;
0 commit comments