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,296 +0,0 @@
1
- using Xunit;
2
-
3
- namespace NuGetUpdater.Core.Test.Update;
4
-
5
- public partial class UpdateWorkerTests
6
- {
7
- public class GlobalJson : UpdateWorkerTestBase
8
- {
9
- [Fact]
10
- public async Task NoChangeWhenGlobalJsonNotFound()
11
- {
12
- await TestNoChangeforProject("Microsoft.Build.Traversal", "3.2.0", "4.1.0",
13
- packages: [],
14
- // initial
15
- projectContents: """
16
- <Project Sdk="Microsoft.NET.Sdk">
17
- <PropertyGroup>
18
- <TargetFramework>netstandard2.0</TargetFramework>
19
- </PropertyGroup>
20
-
21
- <ItemGroup>
22
- <PackageReference Include="Some.Package" Version="13.0.3" />
23
- </ItemGroup>
24
- </Project>
25
- """
26
- );
27
- }
28
-
29
- [Fact]
30
- public async Task NoChangeWhenDependencyNotFound()
31
- {
32
- await TestNoChangeforProject("Microsoft.Build.Traversal", "3.2.0", "4.1.0",
33
- packages: [],
34
- // initial
35
- projectContents: """
36
- <Project Sdk="Microsoft.NET.Sdk">
37
- <PropertyGroup>
38
- <TargetFramework>netstandard2.0</TargetFramework>
39
- </PropertyGroup>
40
-
41
- <ItemGroup>
42
- <PackageReference Include="Some.Package" Version="13.0.3" />
43
- </ItemGroup>
44
- </Project>
45
- """,
46
- additionalFiles:
47
- [
48
- ("global.json", """
49
- {
50
- "sdk": {
51
- "version": "6.0.405",
52
- "rollForward": "latestPatch"
53
- }
54
- }
55
- """)
56
- ]
57
- );
58
- }
59
-
60
- [Fact]
61
- public async Task NoChangeWhenGlobalJsonInUnexpectedLocation()
62
- {
63
- await TestNoChangeforProject("Microsoft.Build.Traversal", "3.2.0", "4.1.0",
64
- packages: [],
65
- // initial
66
- projectFilePath: "src/project/project.csproj",
67
- projectContents: """
68
- <Project Sdk="Microsoft.NET.Sdk">
69
- <PropertyGroup>
70
- <TargetFramework>netstandard2.0</TargetFramework>
71
- </PropertyGroup>
72
-
73
- <ItemGroup>
74
- <PackageReference Include="Some.Package" Version="13.0.3" />
75
- </ItemGroup>
76
- </Project>
77
- """,
78
- additionalFiles:
79
- [
80
- ("eng/global.json", """
81
- {
82
- "sdk": {
83
- "version": "6.0.405",
84
- "rollForward": "latestPatch"
85
- },
86
- "msbuild-sdks": {
87
- "Microsoft.Build.Traversal": "3.2.0"
88
- }
89
- }
90
- """)
91
- ]
92
- );
93
- }
94
-
95
- [Fact]
96
- public async Task UpdateSingleDependency()
97
- {
98
- await TestUpdateForProject("Some.MSBuild.Sdk", "3.2.0", "4.1.0",
99
- packages:
100
- [
101
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
102
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "3.2.0"),
103
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "4.1.0"),
104
- ],
105
- // initial
106
- projectFilePath: "src/project/project.csproj",
107
- projectContents: """
108
- <Project Sdk="Microsoft.NET.Sdk">
109
- <PropertyGroup>
110
- <TargetFramework>net8.0</TargetFramework>
111
- </PropertyGroup>
112
-
113
- <ItemGroup>
114
- <PackageReference Include="Some.Package" Version="13.0.3" />
115
- </ItemGroup>
116
- </Project>
117
- """,
118
- additionalFiles:
119
- [
120
- ("src/global.json", """
121
- {
122
- "sdk": {
123
- "version": "6.0.405",
124
- "rollForward": "latestPatch"
125
- },
126
- "msbuild-sdks": {
127
- "Some.MSBuild.Sdk": "3.2.0"
128
- }
129
- }
130
- """)
131
- ],
132
- // expected
133
- expectedProjectContents: """
134
- <Project Sdk="Microsoft.NET.Sdk">
135
- <PropertyGroup>
136
- <TargetFramework>net8.0</TargetFramework>
137
- </PropertyGroup>
138
-
139
- <ItemGroup>
140
- <PackageReference Include="Some.Package" Version="13.0.3" />
141
- </ItemGroup>
142
- </Project>
143
- """,
144
- additionalFilesExpected:
145
- [
146
- ("src/global.json", """
147
- {
148
- "sdk": {
149
- "version": "6.0.405",
150
- "rollForward": "latestPatch"
151
- },
152
- "msbuild-sdks": {
153
- "Some.MSBuild.Sdk": "4.1.0"
154
- }
155
- }
156
- """)
157
- ]
158
- );
159
- }
160
-
161
- [Fact]
162
- public async Task UpdateDependencyWithComments()
163
- {
164
- await TestUpdateForProject("Some.MSBuild.Sdk", "3.2.0", "4.1.0",
165
- packages:
166
- [
167
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
168
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "3.2.0"),
169
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "4.1.0"),
170
- ],
171
- // initial
172
- projectContents: """
173
- <Project Sdk="Microsoft.NET.Sdk">
174
- <PropertyGroup>
175
- <TargetFramework>net8.0</TargetFramework>
176
- </PropertyGroup>
177
-
178
- <ItemGroup>
179
- <PackageReference Include="Some.Package" Version="13.0.3" />
180
- </ItemGroup>
181
- </Project>
182
- """,
183
- additionalFiles:
184
- [
185
- ("global.json", """
186
- {
187
- // this is a comment
188
- "sdk": {
189
- "version": "6.0.405",
190
- "rollForward": "latestPatch"
191
- },
192
- "msbuild-sdks": {
193
- // this is a deep comment
194
- "Some.MSBuild.Sdk": "3.2.0"
195
- }
196
- }
197
- """)
198
- ],
199
- // expected
200
- expectedProjectContents: """
201
- <Project Sdk="Microsoft.NET.Sdk">
202
- <PropertyGroup>
203
- <TargetFramework>net8.0</TargetFramework>
204
- </PropertyGroup>
205
-
206
- <ItemGroup>
207
- <PackageReference Include="Some.Package" Version="13.0.3" />
208
- </ItemGroup>
209
- </Project>
210
- """,
211
- additionalFilesExpected:
212
- [
213
- ("global.json", """
214
- {
215
- // this is a comment
216
- "sdk": {
217
- "version": "6.0.405",
218
- "rollForward": "latestPatch"
219
- },
220
- "msbuild-sdks": {
221
- // this is a deep comment
222
- "Some.MSBuild.Sdk": "4.1.0"
223
- }
224
- }
225
- """)
226
- ]
227
- );
228
- }
229
-
230
- [Fact]
231
- public async Task UpdateDependencyWithTrailingComma()
232
- {
233
- await TestUpdateForProject("Some.MSBuild.Sdk", "3.2.0", "4.1.0",
234
- packages:
235
- [
236
- MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.3", "net8.0"),
237
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "3.2.0"),
238
- MockNuGetPackage.CreateMSBuildSdkPackage("Some.MSBuild.Sdk", "4.1.0"),
239
- ],
240
- // initial
241
- projectContents: """
242
- <Project Sdk="Microsoft.NET.Sdk">
243
- <PropertyGroup>
244
- <TargetFramework>net8.0</TargetFramework>
245
- </PropertyGroup>
246
-
247
- <ItemGroup>
248
- <PackageReference Include="Some.Package" Version="13.0.3" />
249
- </ItemGroup>
250
- </Project>
251
- """,
252
- additionalFiles:
253
- [
254
- ("global.json", """
255
- {
256
- "sdk": {
257
- "version": "6.0.405",
258
- "rollForward": "latestPatch"
259
- },
260
- "msbuild-sdks": {
261
- "Some.MSBuild.Sdk": "3.2.0"
262
- },
263
- }
264
- """)
265
- ],
266
- // expected
267
- expectedProjectContents: """
268
- <Project Sdk="Microsoft.NET.Sdk">
269
- <PropertyGroup>
270
- <TargetFramework>net8.0</TargetFramework>
271
- </PropertyGroup>
272
-
273
- <ItemGroup>
274
- <PackageReference Include="Some.Package" Version="13.0.3" />
275
- </ItemGroup>
276
- </Project>
277
- """,
278
- // expected file no longer has the trailing comma because the parser removes it.
279
- additionalFilesExpected:
280
- [
281
- ("global.json", """
282
- {
283
- "sdk": {
284
- "version": "6.0.405",
285
- "rollForward": "latestPatch"
286
- },
287
- "msbuild-sdks": {
288
- "Some.MSBuild.Sdk": "4.1.0"
289
- }
290
- }
291
- """)
292
- ]
293
- );
294
- }
295
- }
296
- }
@@ -1,251 +0,0 @@
1
- using Xunit;
2
-
3
- namespace NuGetUpdater.Core.Test.Update;
4
-
5
- public partial class UpdateWorkerTests
6
- {
7
- public class LockFile : UpdateWorkerTestBase
8
- {
9
- [Fact]
10
- public async Task UpdateSingleDependency()
11
- {
12
- await TestUpdateForProject("Some.Package", "1.0.0", "2.0.0",
13
- packages:
14
- [
15
- MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
16
- MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0"),
17
- ],
18
- // initial
19
- projectContents: $"""
20
- <Project Sdk="Microsoft.NET.Sdk">
21
- <PropertyGroup>
22
- <TargetFramework>net8.0</TargetFramework>
23
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
24
- </PropertyGroup>
25
-
26
- <ItemGroup>
27
- <PackageReference Include="Some.Package" Version="1.0.0" />
28
- </ItemGroup>
29
- </Project>
30
- """,
31
- additionalFiles:
32
- [
33
- ("packages.lock.json", "{}")
34
- ],
35
- // expected
36
- expectedProjectContents: $"""
37
- <Project Sdk="Microsoft.NET.Sdk">
38
- <PropertyGroup>
39
- <TargetFramework>net8.0</TargetFramework>
40
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
41
- </PropertyGroup>
42
-
43
- <ItemGroup>
44
- <PackageReference Include="Some.Package" Version="2.0.0" />
45
- </ItemGroup>
46
- </Project>
47
- """,
48
- additionalChecks: path =>
49
- {
50
- var lockContents = File.ReadAllText(Path.Combine(path, "packages.lock.json"));
51
- Assert.Contains("\"resolved\": \"2.0.0\"", lockContents);
52
- }
53
- );
54
- }
55
-
56
- [Fact]
57
- public async Task UpdateSingleDependency_CentralPackageManagement()
58
- {
59
- await TestUpdateForProject("Some.Package", "1.0.0", "2.0.0",
60
- packages:
61
- [
62
- MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
63
- MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0"),
64
- ],
65
- // initial
66
- projectContents: $"""
67
- <Project Sdk="Microsoft.NET.Sdk">
68
- <PropertyGroup>
69
- <TargetFramework>net8.0</TargetFramework>
70
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
71
- </PropertyGroup>
72
-
73
- <ItemGroup>
74
- <PackageReference Include="Some.Package" />
75
- </ItemGroup>
76
- </Project>
77
- """,
78
- additionalFiles:
79
- [
80
- ("packages.lock.json", "{}"),
81
- ("Directory.Packages.props", """
82
- <Project>
83
- <PropertyGroup>
84
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
85
- </PropertyGroup>
86
-
87
- <ItemGroup>
88
- <PackageVersion Include="Some.Package" Version="1.0.0" />
89
- </ItemGroup>
90
- </Project>
91
- """)
92
- ],
93
- // expected
94
- expectedProjectContents: $"""
95
- <Project Sdk="Microsoft.NET.Sdk">
96
- <PropertyGroup>
97
- <TargetFramework>net8.0</TargetFramework>
98
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
99
- </PropertyGroup>
100
-
101
- <ItemGroup>
102
- <PackageReference Include="Some.Package" />
103
- </ItemGroup>
104
- </Project>
105
- """,
106
- additionalFilesExpected:
107
- [
108
- ("Directory.Packages.props", """
109
- <Project>
110
- <PropertyGroup>
111
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
112
- </PropertyGroup>
113
-
114
- <ItemGroup>
115
- <PackageVersion Include="Some.Package" Version="2.0.0" />
116
- </ItemGroup>
117
- </Project>
118
- """)
119
- ],
120
- additionalChecks: path =>
121
- {
122
- var lockContents = File.ReadAllText(Path.Combine(path, "packages.lock.json"));
123
- Assert.Contains("\"resolved\": \"2.0.0\"", lockContents);
124
- }
125
- );
126
- }
127
-
128
- [Fact]
129
- public async Task UpdateSingleDependency_WindowsSpecific()
130
- {
131
- await TestUpdateForProject("Some.Package", "1.0.0", "2.0.0",
132
- packages:
133
- [
134
- MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
135
- MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0"),
136
- ],
137
- // initial
138
- projectContents: $"""
139
- <Project Sdk="Microsoft.NET.Sdk">
140
- <PropertyGroup>
141
- <TargetFramework>net8.0-windows</TargetFramework>
142
- <UseWindowsForms>true</UseWindowsForms>
143
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
144
- </PropertyGroup>
145
-
146
- <ItemGroup>
147
- <PackageReference Include="Some.Package" Version="1.0.0" />
148
- </ItemGroup>
149
- </Project>
150
- """,
151
- additionalFiles:
152
- [
153
- ("packages.lock.json", "{}")
154
- ],
155
- // expected
156
- expectedProjectContents: $"""
157
- <Project Sdk="Microsoft.NET.Sdk">
158
- <PropertyGroup>
159
- <TargetFramework>net8.0-windows</TargetFramework>
160
- <UseWindowsForms>true</UseWindowsForms>
161
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
162
- </PropertyGroup>
163
-
164
- <ItemGroup>
165
- <PackageReference Include="Some.Package" Version="2.0.0" />
166
- </ItemGroup>
167
- </Project>
168
- """,
169
- additionalChecks: path =>
170
- {
171
- var lockContents = File.ReadAllText(Path.Combine(path, "packages.lock.json"));
172
- Assert.Contains("\"resolved\": \"2.0.0\"", lockContents);
173
- }
174
- );
175
- }
176
-
177
- [Fact]
178
- public async Task UpdateSingleDependency_CentralPackageManagement_WindowsSpecific()
179
- {
180
- await TestUpdateForProject("Some.Package", "1.0.0", "2.0.0",
181
- packages:
182
- [
183
- MockNuGetPackage.CreateSimplePackage("Some.Package", "1.0.0", "net8.0"),
184
- MockNuGetPackage.CreateSimplePackage("Some.Package", "2.0.0", "net8.0"),
185
- ],
186
- // initial
187
- projectContents: $"""
188
- <Project Sdk="Microsoft.NET.Sdk">
189
- <PropertyGroup>
190
- <TargetFramework>net8.0-windows</TargetFramework>
191
- <UseWindowsForms>true</UseWindowsForms>
192
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
193
- </PropertyGroup>
194
-
195
- <ItemGroup>
196
- <PackageReference Include="Some.Package" />
197
- </ItemGroup>
198
- </Project>
199
- """,
200
- additionalFiles:
201
- [
202
- ("packages.lock.json", "{}"),
203
- ("Directory.Packages.props", """
204
- <Project>
205
- <PropertyGroup>
206
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
207
- </PropertyGroup>
208
-
209
- <ItemGroup>
210
- <PackageVersion Include="Some.Package" Version="1.0.0" />
211
- </ItemGroup>
212
- </Project>
213
- """)
214
- ],
215
- // expected
216
- expectedProjectContents: $"""
217
- <Project Sdk="Microsoft.NET.Sdk">
218
- <PropertyGroup>
219
- <TargetFramework>net8.0-windows</TargetFramework>
220
- <UseWindowsForms>true</UseWindowsForms>
221
- <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile>
222
- </PropertyGroup>
223
-
224
- <ItemGroup>
225
- <PackageReference Include="Some.Package" />
226
- </ItemGroup>
227
- </Project>
228
- """,
229
- additionalFilesExpected:
230
- [
231
- ("Directory.Packages.props", """
232
- <Project>
233
- <PropertyGroup>
234
- <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
235
- </PropertyGroup>
236
-
237
- <ItemGroup>
238
- <PackageVersion Include="Some.Package" Version="2.0.0" />
239
- </ItemGroup>
240
- </Project>
241
- """)
242
- ],
243
- additionalChecks: path =>
244
- {
245
- var lockContents = File.ReadAllText(Path.Combine(path, "packages.lock.json"));
246
- Assert.Contains("\"resolved\": \"2.0.0\"", lockContents);
247
- }
248
- );
249
- }
250
- }
251
- }