dependabot-nuget 0.321.2 → 0.322.0

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 (67) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Packages.props +22 -22
  3. data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation/Model/PackageMapper.cs +9 -0
  4. data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Cli/Program.cs +21 -7
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +19 -11
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/CloneCommand.cs +19 -9
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +21 -14
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/FrameworkCheckCommand.cs +8 -5
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +29 -16
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/UpdateCommand.cs +20 -19
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Program.cs +2 -1
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyDiscoveryTargetingPacks.props +2 -0
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencySolver/IDependencySolver.cs +8 -0
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencySolver/MSBuildDependencySolver.cs +32 -0
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs +1 -0
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +10 -1
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/WorkspaceDiscoveryResult.cs +6 -0
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +3 -0
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/GlobalJsonBuildFile.cs +5 -13
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs +12 -0
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -0
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs +10 -0
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +1 -1
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +1 -1
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +2 -2
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +1 -1
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +1 -1
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +1 -1
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +6 -3
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs +376 -0
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/IFileWriter.cs +14 -0
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs +477 -0
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +9 -5
  34. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +18 -7
  35. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +26 -1
  36. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +15 -0
  37. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs +633 -0
  38. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +0 -2
  39. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +0 -2
  40. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +49 -0
  41. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Files/GlobalJsonBuildFileTests.cs +0 -1
  42. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +484 -0
  43. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
  44. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
  45. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
  46. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +21 -22
  47. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +1 -1
  48. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +8 -0
  49. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/DotNetToolsJsonUpdaterTests.cs +181 -0
  50. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterTestsBase.cs +61 -0
  51. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs +917 -0
  52. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs +154 -0
  53. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/TestFileWriterReturnsConstantResult.cs +20 -0
  54. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs +1620 -0
  55. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests_CreateUpdatedVersionRangeTests.cs +25 -0
  56. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/GlobalJsonUpdaterTests.cs +139 -0
  57. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +1961 -1
  58. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateOperationResultTests.cs +116 -0
  59. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +16 -1043
  60. data/helpers/lib/NuGetUpdater/global.json +1 -1
  61. metadata +21 -10
  62. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +0 -375
  63. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +0 -296
  64. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.LockFile.cs +0 -251
  65. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +0 -201
  66. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +0 -3821
  67. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +0 -2706
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "sdk": {
3
- "version": "9.0.203",
3
+ "version": "9.0.302",
4
4
  "rollForward": "latestMinor"
5
5
  }
6
6
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dependabot-nuget
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.321.2
4
+ version: 0.322.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dependabot
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 0.321.2
18
+ version: 0.322.0
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - '='
24
24
  - !ruby/object:Gem::Version
25
- version: 0.321.2
25
+ version: 0.322.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rubyzip
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -328,6 +328,7 @@ files:
328
328
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/VersionFinderTests.cs
329
329
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/CloneWorkerTests.cs
330
330
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Clone/TestGitCommandHandler.cs
331
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/DependencySolver/MSBuildDependencySolverTests.cs
331
332
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs
332
333
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs
333
334
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs
@@ -376,19 +377,22 @@ files:
376
377
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestLogger.cs
377
378
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestUpdaterWorker.cs
378
379
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/BindingRedirectsTests.cs
380
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/DotNetToolsJsonUpdaterTests.cs
379
381
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/ExpectedUpdateOperationResult.cs
382
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterTestsBase.cs
383
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests.cs
384
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/FileWriterWorkerTests_MiscellaneousTests.cs
385
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/TestFileWriterReturnsConstantResult.cs
386
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests.cs
387
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/FileWriters/XmlFileWriterTests_CreateUpdatedVersionRangeTests.cs
388
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/GlobalJsonUpdaterTests.cs
380
389
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs
381
390
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs
382
391
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/SpecialFilePatcherTests.cs
383
392
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateOperationBaseTests.cs
393
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateOperationResultTests.cs
384
394
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs
385
395
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs
386
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs
387
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs
388
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.LockFile.cs
389
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs
390
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs
391
- - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs
392
396
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs
393
397
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/BOMHandlingTests.cs
394
398
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/DiffUtil.cs
@@ -425,6 +429,8 @@ files:
425
429
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyDiscovery.targets
426
430
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyDiscoveryTargetingPacks.props
427
431
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyNotFoundException.cs
432
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencySolver/IDependencySolver.cs
433
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencySolver/MSBuildDependencySolver.cs
428
434
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/DependencyType.cs
429
435
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs
430
436
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscovery.cs
@@ -457,6 +463,7 @@ files:
457
463
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/MissingFileException.cs
458
464
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/NativeResult.cs
459
465
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/NuGetUpdater.Core.csproj
466
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/PrivateSourceTimedOutException.cs
460
467
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Property.cs
461
468
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Advisory.cs
462
469
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/AllowedUpdate.cs
@@ -481,6 +488,7 @@ files:
481
488
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/MessageBase.cs
482
489
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceAuthenticationFailure.cs
483
490
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceBadResponse.cs
491
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs
484
492
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequest.cs
485
493
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequestDependency.cs
486
494
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequestExistsForLatestVersion.cs
@@ -520,6 +528,9 @@ files:
520
528
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectResolver.cs
521
529
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/ConfigurationFile.cs
522
530
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs
531
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/FileWriterWorker.cs
532
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/IFileWriter.cs
533
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/FileWriters/XmlFileWriter.cs
523
534
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs
524
535
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/LockFileUpdater.cs
525
536
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs
@@ -580,7 +591,7 @@ licenses:
580
591
  - MIT
581
592
  metadata:
582
593
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
583
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.321.2
594
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.322.0
584
595
  rdoc_options: []
585
596
  require_paths:
586
597
  - lib
@@ -1,375 +0,0 @@
1
- using Xunit;
2
-
3
- namespace NuGetUpdater.Core.Test.Update;
4
-
5
- public partial class UpdateWorkerTests
6
- {
7
- public class DotNetTools : UpdateWorkerTestBase
8
- {
9
- [Fact]
10
- public async Task NoChangeWhenDotNetToolsJsonNotFound()
11
- {
12
- await TestNoChangeforProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
13
- packages:
14
- [
15
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
16
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
17
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
18
- ],
19
- // initial
20
- projectContents: """
21
- <Project Sdk="Microsoft.NET.Sdk">
22
- <PropertyGroup>
23
- <TargetFramework>net8.0</TargetFramework>
24
- </PropertyGroup>
25
-
26
- <ItemGroup>
27
- <PackageReference Include="Some.Package" Version="13.0.3" />
28
- </ItemGroup>
29
- </Project>
30
- """
31
- );
32
- }
33
-
34
- [Fact]
35
- public async Task NoChangeWhenDependencyNotFound()
36
- {
37
- await TestNoChangeforProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
38
- packages:
39
- [
40
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
41
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
42
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
43
- MockNuGetPackage.CreateDotNetToolPackage("Some-Other-Tool", "2.0.0", "net8.0"),
44
- ],
45
- // initial
46
- projectContents: """
47
- <Project Sdk="Microsoft.NET.Sdk">
48
- <PropertyGroup>
49
- <TargetFramework>net8.0</TargetFramework>
50
- </PropertyGroup>
51
-
52
- <ItemGroup>
53
- <PackageReference Include="Some.Package" Version="13.0.3" />
54
- </ItemGroup>
55
- </Project>
56
- """,
57
- additionalFiles:
58
- [
59
- (".config/dotnet-tools.json", """
60
- {
61
- "version": 1,
62
- "isRoot": true,
63
- "tools": {
64
- "some-other-tool": {
65
- "version": "2.0.0",
66
- "commands": [
67
- "some-other-tool"
68
- ]
69
- }
70
- }
71
- }
72
- """)
73
- ]
74
- );
75
- }
76
-
77
- [Fact]
78
- public async Task NoChangeWhenDotNetToolsJsonInUnexpectedLocation()
79
- {
80
- await TestNoChangeforProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
81
- packages:
82
- [
83
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
84
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
85
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
86
- MockNuGetPackage.CreateDotNetToolPackage("Some-Other-Tool", "2.0.0", "net8.0"),
87
- ],
88
- // initial
89
- projectFilePath: "src/project/project.csproj",
90
- projectContents: """
91
- <Project Sdk="Microsoft.NET.Sdk">
92
- <PropertyGroup>
93
- <TargetFramework>net8.0</TargetFramework>
94
- </PropertyGroup>
95
-
96
- <ItemGroup>
97
- <PackageReference Include="Some.Package" Version="13.0.3" />
98
- </ItemGroup>
99
- </Project>
100
- """,
101
- additionalFiles:
102
- [
103
- ("eng/.config/dotnet-tools.json", """
104
- {
105
- "version": 1,
106
- "isRoot": true,
107
- "tools": {
108
- "some-other-tool": {
109
- "version": "2.0.0",
110
- "commands": [
111
- "some-other-tool"
112
- ]
113
- }
114
- }
115
- }
116
- """)
117
- ]
118
- );
119
- }
120
-
121
- [Fact]
122
- public async Task UpdateSingleDependency()
123
- {
124
- await TestUpdateForProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
125
- packages:
126
- [
127
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
128
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
129
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
130
- ],
131
- // initial
132
- projectContents: """
133
- <Project Sdk="Microsoft.NET.Sdk">
134
- <PropertyGroup>
135
- <TargetFramework>net8.0</TargetFramework>
136
- </PropertyGroup>
137
-
138
- <ItemGroup>
139
- <PackageReference Include="Some.Package" Version="13.0.3" />
140
- </ItemGroup>
141
- </Project>
142
- """,
143
- additionalFiles:
144
- [
145
- (".config/dotnet-tools.json", """
146
- {
147
- "version": 1,
148
- "isRoot": true,
149
- "tools": {
150
- "some.dotnet.tool": {
151
- "version": "1.0.0",
152
- "commands": [
153
- "some.dotnet.tool"
154
- ]
155
- },
156
- "some-other-tool": {
157
- "version": "2.1.3",
158
- "commands": [
159
- "some-other-tool"
160
- ]
161
- }
162
- }
163
- }
164
- """)
165
- ],
166
- // expected
167
- expectedProjectContents: """
168
- <Project Sdk="Microsoft.NET.Sdk">
169
- <PropertyGroup>
170
- <TargetFramework>net8.0</TargetFramework>
171
- </PropertyGroup>
172
-
173
- <ItemGroup>
174
- <PackageReference Include="Some.Package" Version="13.0.3" />
175
- </ItemGroup>
176
- </Project>
177
- """,
178
- additionalFilesExpected:
179
- [
180
- (".config/dotnet-tools.json", """
181
- {
182
- "version": 1,
183
- "isRoot": true,
184
- "tools": {
185
- "some.dotnet.tool": {
186
- "version": "1.1.0",
187
- "commands": [
188
- "some.dotnet.tool"
189
- ]
190
- },
191
- "some-other-tool": {
192
- "version": "2.1.3",
193
- "commands": [
194
- "some-other-tool"
195
- ]
196
- }
197
- }
198
- }
199
- """)
200
- ]
201
- );
202
- }
203
-
204
- [Fact]
205
- public async Task UpdateSingleDependencyWithComments()
206
- {
207
- await TestUpdateForProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
208
- packages:
209
- [
210
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
211
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
212
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
213
- ],
214
- // initial
215
- projectContents: """
216
- <Project Sdk="Microsoft.NET.Sdk">
217
- <PropertyGroup>
218
- <TargetFramework>net8.0</TargetFramework>
219
- </PropertyGroup>
220
-
221
- <ItemGroup>
222
- <PackageReference Include="Some.Package" Version="13.0.3" />
223
- </ItemGroup>
224
- </Project>
225
- """,
226
- additionalFiles:
227
- [
228
- (".config/dotnet-tools.json", """
229
- {
230
- // this is a comment
231
- "version": 1,
232
- "isRoot": true,
233
- "tools": {
234
- "some.dotnet.tool": {
235
- // this is a deep comment
236
- "version": "1.0.0",
237
- "commands": [
238
- "some.dotnet.tool"
239
- ]
240
- },
241
- "some-other-tool": {
242
- "version": "2.1.3",
243
- "commands": [
244
- "some-other-tool"
245
- ]
246
- }
247
- }
248
- }
249
- """)
250
- ],
251
- // expected
252
- expectedProjectContents: """
253
- <Project Sdk="Microsoft.NET.Sdk">
254
- <PropertyGroup>
255
- <TargetFramework>net8.0</TargetFramework>
256
- </PropertyGroup>
257
-
258
- <ItemGroup>
259
- <PackageReference Include="Some.Package" Version="13.0.3" />
260
- </ItemGroup>
261
- </Project>
262
- """,
263
- additionalFilesExpected:
264
- [
265
- (".config/dotnet-tools.json", """
266
- {
267
- // this is a comment
268
- "version": 1,
269
- "isRoot": true,
270
- "tools": {
271
- "some.dotnet.tool": {
272
- // this is a deep comment
273
- "version": "1.1.0",
274
- "commands": [
275
- "some.dotnet.tool"
276
- ]
277
- },
278
- "some-other-tool": {
279
- "version": "2.1.3",
280
- "commands": [
281
- "some-other-tool"
282
- ]
283
- }
284
- }
285
- }
286
- """)
287
- ]
288
- );
289
- }
290
-
291
- [Fact]
292
- public async Task UpdateSingleDependencyWithTrailingComma()
293
- {
294
- await TestUpdateForProject("Some.DotNet.Tool", "1.0.0", "1.1.0",
295
- packages:
296
- [
297
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
298
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.0.0", "net8.0"),
299
- MockNuGetPackage.CreateDotNetToolPackage("Some.DotNet.Tool", "1.1.0", "net8.0"),
300
- ],
301
- // initial
302
- projectContents: """
303
- <Project Sdk="Microsoft.NET.Sdk">
304
- <PropertyGroup>
305
- <TargetFramework>net8.0</TargetFramework>
306
- </PropertyGroup>
307
-
308
- <ItemGroup>
309
- <PackageReference Include="Some.Package" Version="13.0.3" />
310
- </ItemGroup>
311
- </Project>
312
- """,
313
- additionalFiles:
314
- [
315
- (".config/dotnet-tools.json", """
316
- {
317
- "version": 1,
318
- "isRoot": true,
319
- "tools": {
320
- "some.dotnet.tool": {
321
- "version": "1.0.0",
322
- "commands": [
323
- "some.dotnet.tool"
324
- ],
325
- },
326
- "some-other-tool": {
327
- "version": "2.1.3",
328
- "commands": [
329
- "some-other-tool"
330
- ],
331
- }
332
- }
333
- }
334
- """)
335
- ],
336
- // expected
337
- expectedProjectContents: """
338
- <Project Sdk="Microsoft.NET.Sdk">
339
- <PropertyGroup>
340
- <TargetFramework>net8.0</TargetFramework>
341
- </PropertyGroup>
342
-
343
- <ItemGroup>
344
- <PackageReference Include="Some.Package" Version="13.0.3" />
345
- </ItemGroup>
346
- </Project>
347
- """,
348
- // expected files no longer have trailing commas in the json
349
- additionalFilesExpected:
350
- [
351
- (".config/dotnet-tools.json", """
352
- {
353
- "version": 1,
354
- "isRoot": true,
355
- "tools": {
356
- "some.dotnet.tool": {
357
- "version": "1.1.0",
358
- "commands": [
359
- "some.dotnet.tool"
360
- ]
361
- },
362
- "some-other-tool": {
363
- "version": "2.1.3",
364
- "commands": [
365
- "some-other-tool"
366
- ]
367
- }
368
- }
369
- }
370
- """)
371
- ]
372
- );
373
- }
374
- }
375
- }