dependabot-nuget 0.321.3 → 0.322.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Packages.props +22 -22
  3. data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Cli/Program.cs +21 -7
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +19 -11
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +19 -9
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +21 -14
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +8 -5
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +29 -16
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +20 -19
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -1
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +1 -1
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +10 -23
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +9 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +15 -232
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +1 -154
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +3 -12
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs +5 -13
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs +12 -0
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -0
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs +10 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/AzurePackageDetailFinder.cs +30 -0
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGenerator.cs +237 -0
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitHubPackageDetailFinder.cs +101 -0
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/GitLabPackageDetailFinder.cs +107 -0
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/HttpFetcher.cs +32 -0
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IHttpFetcher.cs +30 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPackageDetailFinder.cs +47 -0
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/IPullRequestBodyGenerator.cs +11 -0
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestBodyGenerator/SimplePullRequestBodyGenerator.cs +15 -0
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +7 -3
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +3 -525
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +2 -2
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +4 -4
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +2 -2
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +2 -2
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +2 -2
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +85 -35
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +27 -8
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +1 -856
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +18 -7
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -200
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +21 -556
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +9 -73
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs +2 -2
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs +1 -1
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +1 -20
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +0 -2
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +3 -62
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +13 -563
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +20 -269
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +2 -2
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +0 -1
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +131 -131
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +0 -203
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/DetailedPullRequestBodyGeneratorTests.cs +871 -0
  59. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/IPackageDetailFinderTests.cs +28 -0
  60. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestBodyGenerator/TestHttpFetcher.cs +23 -0
  61. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +24 -24
  62. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +14 -12
  63. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandlerTests.cs +6 -6
  64. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/GroupUpdateAllVersionsHandlerTests.cs +18 -18
  65. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandlerTests.cs +15 -15
  66. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandlerTests.cs +21 -21
  67. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandlerTests.cs +15 -15
  68. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/UpdateHandlersTestsBase.cs +1 -8
  69. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +2 -2
  70. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs +45 -0
  71. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +111 -0
  72. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +1 -159
  73. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +26 -660
  74. data/helpers/lib/NuGetUpdater/global.json +1 -1
  75. metadata +18 -10
  76. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunResult.cs +0 -13
  77. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestMessageTests.cs +0 -296
  78. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +0 -3592
  79. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatePermittedAndMessageTests.cs +0 -457
  80. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +0 -378
  81. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/SdkPackageUpdaterHelperTests.cs +0 -175
@@ -11,28 +11,23 @@ namespace NuGetUpdater.Core.Test.Discover;
11
11
  public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
12
12
  {
13
13
  [Theory]
14
- [InlineData("src/project.csproj", true)]
15
- [InlineData("src/project.csproj", false)]
16
- [InlineData("src/project.vbproj", true)]
17
- [InlineData("src/project.vbproj", false)]
18
- [InlineData("src/project.fsproj", true)]
19
- [InlineData("src/project.fsproj", false)]
20
- public async Task TestProjectFiles(string projectPath, bool useDirectDiscovery)
14
+ [InlineData("src/project.csproj")]
15
+ [InlineData("src/project.vbproj")]
16
+ [InlineData("src/project.fsproj")]
17
+ public async Task TestProjectFiles(string projectPath)
21
18
  {
22
19
  var expectedDependencies = new List<Dependency>()
23
20
  {
24
21
  new Dependency("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true)
25
22
  };
26
- if (useDirectDiscovery && Path.GetExtension(projectPath)! == ".fsproj")
23
+ if (Path.GetExtension(projectPath)! == ".fsproj")
27
24
  {
28
25
  // this package ships with the SDK and is automatically added for F# projects but should be manually added here to make the test consistent
29
26
  // only direct package discovery finds this, though
30
27
  expectedDependencies.Add(new Dependency("FSharp.Core", MockNuGetPackage.FSharpCorePackageVersion.Value, DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true));
31
28
  }
32
29
 
33
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
34
30
  await TestDiscoveryAsync(
35
- experimentsManager: experimentsManager,
36
31
  packages:
37
32
  [
38
33
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
@@ -75,14 +70,10 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
75
70
  );
76
71
  }
77
72
 
78
- [Theory]
79
- [InlineData(true)]
80
- [InlineData(false)]
81
- public async Task FindDependenciesFromSDKProjectsWithDesktopTFM(bool useDirectDiscovery)
73
+ [Fact]
74
+ public async Task FindDependenciesFromSDKProjectsWithDesktopTFM()
82
75
  {
83
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
84
76
  await TestDiscoveryAsync(
85
- experimentsManager: experimentsManager,
86
77
  packages:
87
78
  [
88
79
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net472"),
@@ -124,14 +115,10 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
124
115
  );
125
116
  }
126
117
 
127
- [Theory]
128
- [InlineData(true)]
129
- [InlineData(false)]
130
- public async Task TestDependencyWithTrailingSpacesInAttribute(bool useDirectDiscovery)
118
+ [Fact]
119
+ public async Task TestDependencyWithTrailingSpacesInAttribute()
131
120
  {
132
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
133
121
  await TestDiscoveryAsync(
134
- experimentsManager: experimentsManager,
135
122
  packages:
136
123
  [
137
124
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
@@ -185,7 +172,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
185
172
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
186
173
  MockNuGetPackage.CreateSimplePackage("Some.Package2", "9.0.1", "net8.0"),
187
174
  ],
188
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
189
175
  workspacePath: "src",
190
176
  files: new[]
191
177
  {
@@ -235,7 +221,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
235
221
  [
236
222
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
237
223
  ],
238
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
239
224
  workspacePath: "src",
240
225
  files: new[]
241
226
  {
@@ -339,7 +324,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
339
324
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
340
325
  MockNuGetPackage.CreateSimplePackage("Some.Package2", "9.0.1", "net8.0"),
341
326
  ],
342
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
343
327
  workspacePath: "src",
344
328
  files: new[]
345
329
  {
@@ -386,9 +370,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
386
370
  [InlineData(false)]
387
371
  public async Task TestPackageConfig(bool useDirectDiscovery)
388
372
  {
389
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
390
373
  await TestDiscoveryAsync(
391
- experimentsManager: experimentsManager,
392
374
  packages:
393
375
  [
394
376
  MockNuGetPackage.CreateSimplePackage("Some.Package", "7.0.1", "net45"),
@@ -447,70 +429,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
447
429
  public async Task TestProps_DirectDiscovery()
448
430
  {
449
431
  await TestDiscoveryAsync(
450
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
451
- packages:
452
- [
453
- MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
454
- ],
455
- workspacePath: "src",
456
- files: new[]
457
- {
458
- ("src/project.csproj", """
459
- <Project Sdk="Microsoft.NET.Sdk">
460
- <PropertyGroup>
461
- <TargetFramework>net8.0</TargetFramework>
462
- </PropertyGroup>
463
-
464
- <ItemGroup>
465
- <PackageReference Include="Some.Package" />
466
- </ItemGroup>
467
- </Project>
468
- """),
469
- ("Directory.Build.props", "<Project />"),
470
- ("Directory.Packages.props", """
471
- <Project>
472
- <PropertyGroup>
473
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
474
- <SomePackageVersion>9.0.1</SomePackageVersion>
475
- </PropertyGroup>
476
-
477
- <ItemGroup>
478
- <PackageVersion Include="Some.Package" Version="$(SomePackageVersion)" />
479
- </ItemGroup>
480
- </Project>
481
- """)
482
- },
483
- expectedResult: new()
484
- {
485
- Path = "src",
486
- Projects = [
487
- new()
488
- {
489
- FilePath = "project.csproj",
490
- TargetFrameworks = ["net8.0"],
491
- Dependencies = [
492
- new("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true)
493
- ],
494
- Properties = [
495
- new("TargetFramework", "net8.0", "src/project.csproj")
496
- ],
497
- ReferencedProjectPaths = [],
498
- ImportedFiles = [
499
- "../Directory.Build.props",
500
- "../Directory.Packages.props",
501
- ],
502
- AdditionalFiles = [],
503
- }
504
- ],
505
- }
506
- );
507
- }
508
-
509
- [Fact]
510
- public async Task TestProps_NoDirectDiscovery()
511
- {
512
- await TestDiscoveryAsync(
513
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
514
432
  packages:
515
433
  [
516
434
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
@@ -555,8 +473,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
555
473
  new("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net8.0"], IsDirect: true)
556
474
  ],
557
475
  Properties = [
558
- new("ManagePackageVersionsCentrally", "true", "Directory.Packages.props"),
559
- new("SomePackageVersion", "9.0.1", "Directory.Packages.props"),
560
476
  new("TargetFramework", "net8.0", "src/project.csproj")
561
477
  ],
562
478
  ReferencedProjectPaths = [],
@@ -572,11 +488,10 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
572
488
  }
573
489
 
574
490
  [Fact]
575
- public async Task TestRepo_DirectDiscovery()
491
+ public async Task TestRepo()
576
492
  {
577
493
  var solutionPath = "solution.sln";
578
494
  await TestDiscoveryAsync(
579
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
580
495
  packages:
581
496
  [
582
497
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net7.0"),
@@ -690,7 +605,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
690
605
  {
691
606
  FilePath = "global.json",
692
607
  Dependencies = [
693
- new("Microsoft.NET.Sdk", "6.0.405", DependencyType.MSBuildSdk),
694
608
  new("My.Custom.Sdk", "5.0.0", DependencyType.MSBuildSdk),
695
609
  new("My.Other.Sdk", "1.0.0-beta", DependencyType.MSBuildSdk),
696
610
  ]
@@ -712,7 +626,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
712
626
  {
713
627
  var solutionPath = "solution.slnx";
714
628
  await TestDiscoveryAsync(
715
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
716
629
  packages:
717
630
  [
718
631
  MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net7.0"),
@@ -769,7 +682,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
769
682
  await TestDiscoveryAsync(
770
683
  packages:
771
684
  [
772
- MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
685
+ MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net7.0"),
773
686
  ],
774
687
  workspacePath: "",
775
688
  files: new[]
@@ -834,8 +747,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
834
747
  new("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true)
835
748
  ],
836
749
  Properties = [
837
- new("ManagePackageVersionsCentrally", "true", "Directory.Packages.props"),
838
- new("SomePackageVersion", "9.0.1", "Directory.Packages.props"),
839
750
  new("TargetFrameworks", "net7.0;net8.0", "src/project.csproj"),
840
751
  ],
841
752
  ReferencedProjectPaths = [],
@@ -857,7 +768,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
857
768
  await TestDiscoveryAsync(
858
769
  packages:
859
770
  [
860
- MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
771
+ MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net7.0"),
861
772
  ],
862
773
  workspacePath: "",
863
774
  files: new[]
@@ -907,8 +818,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
907
818
  new("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true)
908
819
  ],
909
820
  Properties = [
910
- new("ManagePackageVersionsCentrally", "true", "Directory.Packages.props"),
911
- new("SomePackageVersion", "9.0.1", "Directory.Packages.props"),
912
821
  new("TargetFrameworks", "net7.0;net8.0", "src/project.csproj"),
913
822
  ],
914
823
  ReferencedProjectPaths = [],
@@ -924,151 +833,9 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
924
833
  }
925
834
 
926
835
  [Fact]
927
- public async Task TestRepo_NoDirectDiscovery()
928
- {
929
- var solutionPath = "solution.sln";
930
- await TestDiscoveryAsync(
931
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = false },
932
- packages:
933
- [
934
- MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net7.0"),
935
- ],
936
- workspacePath: "",
937
- files: new[]
938
- {
939
- ("src/project.csproj", """
940
- <Project Sdk="Microsoft.NET.Sdk">
941
- <PropertyGroup>
942
- <TargetFrameworks>net7.0;net8.0</TargetFrameworks>
943
- </PropertyGroup>
944
-
945
- <ItemGroup>
946
- <PackageReference Include="Some.Package" />
947
- </ItemGroup>
948
- </Project>
949
- """),
950
- ("Directory.Build.props", "<Project />"),
951
- ("Directory.Packages.props", """
952
- <Project>
953
- <PropertyGroup>
954
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
955
- <SomePackageVersion>9.0.1</SomePackageVersion>
956
- </PropertyGroup>
957
-
958
- <ItemGroup>
959
- <PackageVersion Include="Some.Package" Version="$(SomePackageVersion)" />
960
- </ItemGroup>
961
- </Project>
962
- """),
963
- (solutionPath, """
964
- Microsoft Visual Studio Solution File, Format Version 12.00
965
- # Visual Studio 14
966
- VisualStudioVersion = 14.0.22705.0
967
- MinimumVisualStudioVersion = 10.0.40219.1
968
- Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "project", ".\src\project.csproj", "{782E0C0A-10D3-444D-9640-263D03D2B20C}"
969
- EndProject
970
- Global
971
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
972
- Debug|Any CPU = Debug|Any CPU
973
- Release|Any CPU = Release|Any CPU
974
- EndGlobalSection
975
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
976
- {782E0C0A-10D3-444D-9640-263D03D2B20C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
977
- {782E0C0A-10D3-444D-9640-263D03D2B20C}.Debug|Any CPU.Build.0 = Debug|Any CPU
978
- {782E0C0A-10D3-444D-9640-263D03D2B20C}.Release|Any CPU.ActiveCfg = Release|Any CPU
979
- {782E0C0A-10D3-444D-9640-263D03D2B20C}.Release|Any CPU.Build.0 = Release|Any CPU
980
- EndGlobalSection
981
- GlobalSection(SolutionProperties) = preSolution
982
- HideSolutionNode = FALSE
983
- EndGlobalSection
984
- EndGlobal
985
- """),
986
- ("global.json", """
987
- {
988
- "sdk": {
989
- "version": "6.0.405",
990
- "rollForward": "latestPatch"
991
- },
992
- "msbuild-sdks": {
993
- "My.Custom.Sdk": "5.0.0",
994
- "My.Other.Sdk": "1.0.0-beta"
995
- }
996
- }
997
- """),
998
- (".config/dotnet-tools.json", """
999
- {
1000
- "version": 1,
1001
- "isRoot": true,
1002
- "tools": {
1003
- "microsoft.botsay": {
1004
- "version": "1.0.0",
1005
- "commands": [
1006
- "botsay"
1007
- ]
1008
- },
1009
- "dotnetsay": {
1010
- "version": "2.1.3",
1011
- "commands": [
1012
- "dotnetsay"
1013
- ]
1014
- }
1015
- }
1016
- }
1017
- """),
1018
- },
1019
- expectedResult: new()
1020
- {
1021
- Path = "",
1022
- Projects = [
1023
- new()
1024
- {
1025
- FilePath = "src/project.csproj",
1026
- TargetFrameworks = ["net7.0", "net8.0"],
1027
- Dependencies = [
1028
- new("Some.Package", "9.0.1", DependencyType.PackageReference, TargetFrameworks: ["net7.0", "net8.0"], IsDirect: true),
1029
- ],
1030
- Properties = [
1031
- new("ManagePackageVersionsCentrally", "true", "Directory.Packages.props"),
1032
- new("SomePackageVersion", "9.0.1", "Directory.Packages.props"),
1033
- new("TargetFrameworks", "net7.0;net8.0", "src/project.csproj")
1034
- ],
1035
- ReferencedProjectPaths = [],
1036
- ImportedFiles = [
1037
- "../Directory.Build.props",
1038
- "../Directory.Packages.props",
1039
- ],
1040
- AdditionalFiles = [],
1041
- }
1042
- ],
1043
- GlobalJson = new()
1044
- {
1045
- FilePath = "global.json",
1046
- Dependencies = [
1047
- new("Microsoft.NET.Sdk", "6.0.405", DependencyType.MSBuildSdk),
1048
- new("My.Custom.Sdk", "5.0.0", DependencyType.MSBuildSdk),
1049
- new("My.Other.Sdk", "1.0.0-beta", DependencyType.MSBuildSdk),
1050
- ]
1051
- },
1052
- DotNetToolsJson = new()
1053
- {
1054
- FilePath = ".config/dotnet-tools.json",
1055
- Dependencies = [
1056
- new("microsoft.botsay", "1.0.0", DependencyType.DotNetTool),
1057
- new("dotnetsay", "2.1.3", DependencyType.DotNetTool),
1058
- ]
1059
- }
1060
- }
1061
- );
1062
- }
1063
-
1064
- [Theory]
1065
- [InlineData(true)]
1066
- [InlineData(false)]
1067
- public async Task NonSupportedProjectExtensionsAreSkipped(bool useDirectDiscovery)
836
+ public async Task NonSupportedProjectExtensionsAreSkipped()
1068
837
  {
1069
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
1070
838
  await TestDiscoveryAsync(
1071
- experimentsManager: experimentsManager,
1072
839
  packages:
1073
840
  [
1074
841
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
@@ -1148,14 +915,10 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1148
915
  );
1149
916
  }
1150
917
 
1151
- [Theory]
1152
- [InlineData(true)]
1153
- [InlineData(false)]
1154
- public async Task DiscoveryReportsDependencyFileNotParseable(bool useDirectDiscovery)
918
+ [Fact]
919
+ public async Task DiscoveryReportsDependencyFileNotParseable()
1155
920
  {
1156
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
1157
921
  await TestDiscoveryAsync(
1158
- experimentsManager: experimentsManager,
1159
922
  workspacePath: "",
1160
923
  files:
1161
924
  [
@@ -1199,7 +962,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1199
962
  Path = "/",
1200
963
  Projects = [],
1201
964
  });
1202
- var discoveryContents = await File.ReadAllTextAsync(discoveryResultPath);
965
+ var discoveryContents = await File.ReadAllTextAsync(discoveryResultPath, TestContext.Current.CancellationToken);
1203
966
 
1204
967
  // raw result file should look like this:
1205
968
  // {
@@ -1222,10 +985,8 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1222
985
  Assert.Equal("(<some package feed>)", errorSource.GetString());
1223
986
  }
1224
987
 
1225
- [Theory]
1226
- [InlineData(true)]
1227
- [InlineData(false)]
1228
- public async Task ReportsPrivateSourceAuthenticationFailure(bool useDirectDiscovery)
988
+ [Fact]
989
+ public async Task ReportsPrivateSourceAuthenticationFailure()
1229
990
  {
1230
991
  static (int, string) TestHttpHandler(string uriString)
1231
992
  {
@@ -1267,9 +1028,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1267
1028
  ("NUGET_PLUGINS_CACHE_PATH", Path.Combine(tempDir.DirectoryPath, "NUGET_PLUGINS_CACHE_PATH")),
1268
1029
  ]);
1269
1030
  using var http = TestHttpServer.CreateTestStringServer(TestHttpHandler);
1270
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = useDirectDiscovery };
1271
1031
  await TestDiscoveryAsync(
1272
- experimentsManager: experimentsManager,
1273
1032
  workspacePath: "",
1274
1033
  files:
1275
1034
  [
@@ -1344,9 +1103,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1344
1103
  ("NUGET_PLUGINS_CACHE_PATH", Path.Combine(tempDir.DirectoryPath, "NUGET_PLUGINS_CACHE_PATH")),
1345
1104
  ]);
1346
1105
  using var http = TestHttpServer.CreateTestStringServer(TestHttpHandler);
1347
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = true };
1348
1106
  await TestDiscoveryAsync(
1349
- experimentsManager: experimentsManager,
1350
1107
  workspacePath: "",
1351
1108
  files:
1352
1109
  [
@@ -1421,9 +1178,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1421
1178
  ("NUGET_PLUGINS_CACHE_PATH", Path.Combine(tempDir.DirectoryPath, "NUGET_PLUGINS_CACHE_PATH")),
1422
1179
  ]);
1423
1180
  using var http = TestHttpServer.CreateTestStringServer(TestHttpHandler);
1424
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = true };
1425
1181
  await TestDiscoveryAsync(
1426
- experimentsManager: experimentsManager,
1427
1182
  workspacePath: "",
1428
1183
  files:
1429
1184
  [
@@ -1461,7 +1216,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1461
1216
  // this test mimics a package feed that doesn't have the common Microsoft.Windows.App.Ref package; common in Azure DevOps
1462
1217
  // Windows machines always have the package, so this test only makes sense on Linux
1463
1218
  await TestDiscoveryAsync(
1464
- experimentsManager: new ExperimentsManager() { InstallDotnetSdks = true, UseDirectDiscovery = true },
1219
+ experimentsManager: new ExperimentsManager() { InstallDotnetSdks = true },
1465
1220
  includeCommonPackages: false,
1466
1221
  packages: [
1467
1222
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
@@ -1509,7 +1264,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1509
1264
  packages: [
1510
1265
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0", [(null, [("Transitive.Dependency.Does.Not.Exist", "4.5.6")])]),
1511
1266
  ],
1512
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
1513
1267
  workspacePath: "",
1514
1268
  files: [
1515
1269
  ("project.csproj", """
@@ -1540,7 +1294,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1540
1294
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0", [(null, [("Transitive.Dependency", "4.5.6")])]),
1541
1295
  MockNuGetPackage.CreateSimplePackage("Transitive.Dependency", "0.1.2", "net8.0"),
1542
1296
  ],
1543
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
1544
1297
  workspacePath: "",
1545
1298
  files: [
1546
1299
  ("project.csproj", """
@@ -1568,7 +1321,7 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1568
1321
  {
1569
1322
  await TestDiscoveryAsync(
1570
1323
  packages: [],
1571
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true, InstallDotnetSdks = true },
1324
+ experimentsManager: new ExperimentsManager() { InstallDotnetSdks = true },
1572
1325
  workspacePath: "",
1573
1326
  files: [
1574
1327
  ("project.csproj", """
@@ -1599,7 +1352,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1599
1352
  packages: [
1600
1353
  MockNuGetPackage.CreateSimplePackage("Some.Package", "1.2.3", "net8.0"),
1601
1354
  ],
1602
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
1603
1355
  workspacePath: "",
1604
1356
  files: [
1605
1357
  ("project.csproj", """
@@ -1655,7 +1407,6 @@ public partial class DiscoveryWorkerTests : DiscoveryWorkerTestBase
1655
1407
  using var http2 = TestHttpServer.CreateTestNuGetFeed(MockNuGetPackage.CreateSimplePackage("Package2", "2.0.0", "net9.0"));
1656
1408
  await TestDiscoveryAsync(
1657
1409
  packages: [],
1658
- experimentsManager: new ExperimentsManager() { UseDirectDiscovery = true },
1659
1410
  workspacePath: "/src",
1660
1411
  files: [
1661
1412
  ("src/NuGet.Config", $"""
@@ -637,8 +637,8 @@ public class SdkProjectDiscoveryTests : DiscoveryWorkerTestBase
637
637
 
638
638
  var logger = new TestLogger();
639
639
  var fullProjectPath = Path.Combine(testDirectory.DirectoryPath, projectPath);
640
- var experimentsManager = new ExperimentsManager() { UseDirectDiscovery = true }; // the following method is direct discovery; this just makes the call to Validate... happy
641
- var projectDiscovery = await SdkProjectDiscovery.DiscoverWithBinLogAsync(testDirectory.DirectoryPath, Path.GetDirectoryName(fullProjectPath)!, fullProjectPath, experimentsManager, logger);
640
+ var experimentsManager = new ExperimentsManager();
641
+ var projectDiscovery = await SdkProjectDiscovery.DiscoverAsync(testDirectory.DirectoryPath, Path.GetDirectoryName(fullProjectPath)!, fullProjectPath, experimentsManager, logger);
642
642
  ValidateProjectResults(expectedProjects, projectDiscovery, experimentsManager);
643
643
  }
644
644
  }
@@ -53,7 +53,6 @@ public class GlobalJsonBuildFileTests
53
53
  {
54
54
  var expectedDependencies = new List<Dependency>
55
55
  {
56
- new("Microsoft.NET.Sdk", "6.0.405", DependencyType.MSBuildSdk),
57
56
  new("My.Custom.Sdk", "5.0.0", DependencyType.MSBuildSdk),
58
57
  new("My.Other.Sdk", "1.0.0-beta", DependencyType.MSBuildSdk)
59
58
  };