@@ -196,7 +196,12 @@ public void GivenWorkloadUpdateItUpdatesOutOfDatePacks()
196196 [ InlineData ( false ) ]
197197 public void UpdateViaWorkloadSet ( bool upgrade )
198198 {
199- var versionNumber = "8.0.0" ;
199+ var testDir = _testAssetsManager . CreateTestDirectory ( identifier : upgrade . ToString ( ) ) ;
200+ string dotnetDir = Path . Combine ( testDir . Path , "dotnet" ) ;
201+ string userProfileDir = Path . Combine ( testDir . Path , "userProfileDir" ) ;
202+
203+ var sdkVersion = "8.0.300" ;
204+ var workloadSetVersion = "8.0.302" ;
200205 var workloadSetContents = @"
201206{
202207""android"": ""2.3.4/8.0.200""
@@ -205,7 +210,7 @@ public void UpdateViaWorkloadSet(bool upgrade)
205210 var nugetPackageDownloader = new MockNuGetPackageDownloader ( ) ;
206211 var workloadResolver = new MockWorkloadResolver ( new WorkloadInfo [ ] { new WorkloadInfo ( new WorkloadId ( "android" ) , string . Empty ) } ) ;
207212 var workloadInstaller = new MockPackWorkloadInstaller (
208- Path . Combine ( Path . GetTempPath ( ) , "dotnetTestPat" , "userProfileDir" ) ,
213+ dotnetDir ,
209214 installedWorkloads : new List < WorkloadId > ( ) { new WorkloadId ( "android" ) } ,
210215 workloadSetContents : workloadSetContents )
211216 {
@@ -216,34 +221,17 @@ public void UpdateViaWorkloadSet(bool upgrade)
216221 manifestUpdates : new ManifestUpdateWithWorkloads [ ] {
217222 new ManifestUpdateWithWorkloads ( new ManifestVersionUpdate ( new ManifestId ( "android" ) , new ManifestVersion ( oldVersion ) , "8.0.200" , new ManifestVersion ( "2.3.4" ) , "8.0.200" ) , Enumerable . Empty < KeyValuePair < WorkloadId , WorkloadDefinition > > ( ) . ToDictionary ( ) )
218223 } ,
219- fromWorkloadSet : true ) ;
220- var resolverFactory = new MockWorkloadResolverFactory ( Path . Combine ( Path . GetTempPath ( ) , "dotnetTestPath" ) , versionNumber , workloadResolver , " userProfileDir" ) ;
224+ fromWorkloadSet : true , workloadSetVersion : workloadSetVersion ) ;
225+ var resolverFactory = new MockWorkloadResolverFactory ( dotnetDir , sdkVersion , workloadResolver , userProfileDir ) ;
221226 var updateCommand = new WorkloadUpdateCommand ( Parser . Instance . Parse ( "dotnet workload update" ) , Reporter . Output , resolverFactory , workloadInstaller , nugetPackageDownloader , workloadManifestUpdater ) ;
222227
223- var installStatePath = Path . Combine ( Path . GetTempPath ( ) , "dotnetTestPath" , " metadata", "workloads" , versionNumber , "InstallState" , "default.json" ) ;
228+ var installStatePath = Path . Combine ( dotnetDir , "metadata" , "workloads" , sdkVersion , "InstallState" , "default.json" ) ;
224229 var contents = new InstallStateContents ( ) ;
225230 contents . UseWorkloadSets = true ;
226- var versionFile = Path . Combine ( "userProfileDir" , "sdk-advertising" , "8.0.0" , "microsoft.net.workloads" , Constants . workloadSetVersionFileName ) ;
227- try
228- {
229- Directory . CreateDirectory ( Path . GetDirectoryName ( installStatePath ) ) ;
230- File . WriteAllText ( installStatePath , contents . ToString ( ) ) ;
231- updateCommand . Execute ( ) ;
232- File . Exists ( versionFile ) . Should ( ) . BeTrue ( ) ;
233- File . ReadAllText ( versionFile ) . Should ( ) . Be ( "8.0.0" ) ;
234- }
235- finally
236- {
237- if ( File . Exists ( versionFile ) )
238- {
239- File . Delete ( versionFile ) ;
240- }
241-
242- if ( File . Exists ( installStatePath ) )
243- {
244- File . Delete ( installStatePath ) ;
245- }
246- }
231+
232+ Directory . CreateDirectory ( Path . GetDirectoryName ( installStatePath ) ) ;
233+ File . WriteAllText ( installStatePath , contents . ToString ( ) ) ;
234+ updateCommand . Execute ( ) ;
247235
248236 workloadInstaller . InstalledManifests . Count . Should ( ) . Be ( 1 ) ;
249237 workloadInstaller . InstalledManifests [ 0 ] . manifestUpdate . NewVersion . ToString ( ) . Should ( ) . Be ( "2.3.4" ) ;
0 commit comments