dependabot-nuget 0.258.0 → 0.259.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.
- checksums.yaml +4 -4
- data/helpers/lib/NuGetUpdater/Directory.Packages.props +2 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/DiscoverCommand.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +255 -191
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Update.cs +63 -35
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +107 -14
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +9 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +18 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +6 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs +6 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +6 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +11 -21
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Proj.cs +95 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +204 -62
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +64 -45
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/MockNuGetPackage.cs +419 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs +7 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +77 -19
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DirsProj.cs +120 -91
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +132 -97
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +93 -75
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Mixed.cs +45 -42
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +1089 -956
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.Sdk.cs +1624 -1291
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +296 -293
- data/helpers/lib/NuGetUpdater/global.json +6 -0
- data/lib/dependabot/nuget/file_parser.rb +4 -5
- data/lib/dependabot/nuget/file_updater.rb +1 -1
- data/lib/dependabot/nuget/update_checker/dependency_finder.rb +7 -2
- data/lib/dependabot/nuget/update_checker/property_updater.rb +1 -0
- data/lib/dependabot/nuget/update_checker/version_finder.rb +2 -3
- data/lib/dependabot/nuget/update_checker.rb +1 -0
- metadata +8 -5
@@ -1,7 +1,3 @@
|
|
1
|
-
using System.IO;
|
2
|
-
using System.Linq;
|
3
|
-
using System.Threading.Tasks;
|
4
|
-
|
5
1
|
using Xunit;
|
6
2
|
|
7
3
|
namespace NuGetUpdater.Core.Test.Update;
|
@@ -13,94 +9,111 @@ public partial class UpdateWorkerTests
|
|
13
9
|
[Fact]
|
14
10
|
public async Task UpdateSingleDependencyInDirsProj()
|
15
11
|
{
|
16
|
-
await TestUpdateForDirsProj("
|
12
|
+
await TestUpdateForDirsProj("Some.Package", "9.0.1", "13.0.1",
|
13
|
+
packages:
|
14
|
+
[
|
15
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
16
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
17
|
+
],
|
17
18
|
// initial
|
18
19
|
projectContents: """
|
19
|
-
|
20
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
20
21
|
|
21
|
-
|
22
|
-
|
23
|
-
|
22
|
+
<ItemGroup>
|
23
|
+
<ProjectReference Include="src/test-project.csproj" />
|
24
|
+
</ItemGroup>
|
24
25
|
|
25
|
-
|
26
|
-
|
26
|
+
</Project>
|
27
|
+
""",
|
27
28
|
additionalFiles:
|
28
29
|
[
|
29
30
|
("src/test-project.csproj",
|
30
31
|
"""
|
31
32
|
<Project Sdk="Microsoft.NET.Sdk">
|
32
33
|
<PropertyGroup>
|
33
|
-
<TargetFramework>
|
34
|
+
<TargetFramework>net8.0</TargetFramework>
|
34
35
|
</PropertyGroup>
|
35
36
|
|
36
37
|
<ItemGroup>
|
37
|
-
<PackageReference Include="
|
38
|
+
<PackageReference Include="Some.Package" Version="9.0.1" />
|
38
39
|
</ItemGroup>
|
39
40
|
</Project>
|
40
41
|
""")
|
41
42
|
],
|
42
43
|
// expected
|
43
44
|
expectedProjectContents: """
|
44
|
-
|
45
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
45
46
|
|
46
|
-
|
47
|
-
|
48
|
-
|
47
|
+
<ItemGroup>
|
48
|
+
<ProjectReference Include="src/test-project.csproj" />
|
49
|
+
</ItemGroup>
|
49
50
|
|
50
|
-
|
51
|
-
|
51
|
+
</Project>
|
52
|
+
""",
|
52
53
|
additionalFilesExpected:
|
53
54
|
[
|
54
55
|
("src/test-project.csproj",
|
55
56
|
"""
|
56
57
|
<Project Sdk="Microsoft.NET.Sdk">
|
57
58
|
<PropertyGroup>
|
58
|
-
<TargetFramework>
|
59
|
+
<TargetFramework>net8.0</TargetFramework>
|
59
60
|
</PropertyGroup>
|
60
61
|
|
61
62
|
<ItemGroup>
|
62
|
-
<PackageReference Include="
|
63
|
+
<PackageReference Include="Some.Package" Version="13.0.1" />
|
63
64
|
</ItemGroup>
|
64
65
|
</Project>
|
65
66
|
""")
|
66
|
-
]
|
67
|
+
]
|
68
|
+
);
|
67
69
|
}
|
68
70
|
|
69
71
|
[Fact]
|
70
72
|
public async Task Update_MissingFileDoesNotThrow()
|
71
73
|
{
|
72
|
-
await TestUpdateForDirsProj("
|
74
|
+
await TestUpdateForDirsProj("Some.Package", "9.0.1", "13.0.1",
|
75
|
+
packages:
|
76
|
+
[
|
77
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
78
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
79
|
+
],
|
73
80
|
projectContents: """
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
81
|
+
<Project Sdk="Microsoft.Build.Traversal">
|
82
|
+
<ItemGroup>
|
83
|
+
<ProjectReference Include="private\dirs.proj" />
|
84
|
+
</ItemGroup>
|
85
|
+
</Project>
|
86
|
+
""",
|
80
87
|
expectedProjectContents: """
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
additionalFiles: []
|
88
|
+
<Project Sdk="Microsoft.Build.Traversal">
|
89
|
+
<ItemGroup>
|
90
|
+
<ProjectReference Include="private\dirs.proj" />
|
91
|
+
</ItemGroup>
|
92
|
+
</Project>
|
93
|
+
""",
|
94
|
+
additionalFiles: []
|
95
|
+
);
|
88
96
|
}
|
89
97
|
|
90
98
|
[Fact]
|
91
99
|
public async Task UpdateSingleDependencyInNestedDirsProj()
|
92
100
|
{
|
93
|
-
await TestUpdateForDirsProj("
|
101
|
+
await TestUpdateForDirsProj("Some.Package", "9.0.1", "13.0.1",
|
102
|
+
packages:
|
103
|
+
[
|
104
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
105
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
106
|
+
],
|
94
107
|
// initial
|
95
108
|
projectContents: """
|
96
|
-
|
109
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
97
110
|
|
98
|
-
|
99
|
-
|
100
|
-
|
111
|
+
<ItemGroup>
|
112
|
+
<ProjectReference Include="src/dirs.proj" />
|
113
|
+
</ItemGroup>
|
101
114
|
|
102
|
-
|
103
|
-
|
115
|
+
</Project>
|
116
|
+
""",
|
104
117
|
additionalFiles:
|
105
118
|
[
|
106
119
|
("src/dirs.proj",
|
@@ -117,25 +130,25 @@ public partial class UpdateWorkerTests
|
|
117
130
|
"""
|
118
131
|
<Project Sdk="Microsoft.NET.Sdk">
|
119
132
|
<PropertyGroup>
|
120
|
-
<TargetFramework>
|
133
|
+
<TargetFramework>net8.0</TargetFramework>
|
121
134
|
</PropertyGroup>
|
122
135
|
|
123
136
|
<ItemGroup>
|
124
|
-
<PackageReference Include="
|
137
|
+
<PackageReference Include="Some.Package" Version="9.0.1" />
|
125
138
|
</ItemGroup>
|
126
139
|
</Project>
|
127
140
|
""")
|
128
141
|
],
|
129
142
|
// expected
|
130
143
|
expectedProjectContents: """
|
131
|
-
|
144
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
132
145
|
|
133
|
-
|
134
|
-
|
135
|
-
|
146
|
+
<ItemGroup>
|
147
|
+
<ProjectReference Include="src/dirs.proj" />
|
148
|
+
</ItemGroup>
|
136
149
|
|
137
|
-
|
138
|
-
|
150
|
+
</Project>
|
151
|
+
""",
|
139
152
|
additionalFilesExpected:
|
140
153
|
[
|
141
154
|
("src/dirs.proj",
|
@@ -152,31 +165,37 @@ public partial class UpdateWorkerTests
|
|
152
165
|
"""
|
153
166
|
<Project Sdk="Microsoft.NET.Sdk">
|
154
167
|
<PropertyGroup>
|
155
|
-
<TargetFramework>
|
168
|
+
<TargetFramework>net8.0</TargetFramework>
|
156
169
|
</PropertyGroup>
|
157
170
|
|
158
171
|
<ItemGroup>
|
159
|
-
<PackageReference Include="
|
172
|
+
<PackageReference Include="Some.Package" Version="13.0.1" />
|
160
173
|
</ItemGroup>
|
161
174
|
</Project>
|
162
175
|
""")
|
163
|
-
]
|
176
|
+
]
|
177
|
+
);
|
164
178
|
}
|
165
179
|
|
166
180
|
[Fact]
|
167
181
|
public async Task UpdateSingleDependencyInNestedDirsProjUsingWildcard()
|
168
182
|
{
|
169
|
-
await TestUpdateForDirsProj("
|
183
|
+
await TestUpdateForDirsProj("Some.Package", "9.0.1", "13.0.1",
|
184
|
+
packages:
|
185
|
+
[
|
186
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
187
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
188
|
+
],
|
170
189
|
// initial
|
171
190
|
projectContents: """
|
172
|
-
|
191
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
173
192
|
|
174
|
-
|
175
|
-
|
176
|
-
|
193
|
+
<ItemGroup>
|
194
|
+
<ProjectReference Include="src/*.proj" />
|
195
|
+
</ItemGroup>
|
177
196
|
|
178
|
-
|
179
|
-
|
197
|
+
</Project>
|
198
|
+
""",
|
180
199
|
additionalFiles:
|
181
200
|
[
|
182
201
|
("src/dirs.proj",
|
@@ -193,25 +212,25 @@ public partial class UpdateWorkerTests
|
|
193
212
|
"""
|
194
213
|
<Project Sdk="Microsoft.NET.Sdk">
|
195
214
|
<PropertyGroup>
|
196
|
-
<TargetFramework>
|
215
|
+
<TargetFramework>net8.0</TargetFramework>
|
197
216
|
</PropertyGroup>
|
198
217
|
|
199
218
|
<ItemGroup>
|
200
|
-
<PackageReference Include="
|
219
|
+
<PackageReference Include="Some.Package" Version="9.0.1" />
|
201
220
|
</ItemGroup>
|
202
221
|
</Project>
|
203
222
|
""")
|
204
223
|
],
|
205
224
|
// expected
|
206
225
|
expectedProjectContents: """
|
207
|
-
|
226
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
208
227
|
|
209
|
-
|
210
|
-
|
211
|
-
|
228
|
+
<ItemGroup>
|
229
|
+
<ProjectReference Include="src/*.proj" />
|
230
|
+
</ItemGroup>
|
212
231
|
|
213
|
-
|
214
|
-
|
232
|
+
</Project>
|
233
|
+
""",
|
215
234
|
additionalFilesExpected:
|
216
235
|
[
|
217
236
|
("src/dirs.proj",
|
@@ -228,31 +247,37 @@ public partial class UpdateWorkerTests
|
|
228
247
|
"""
|
229
248
|
<Project Sdk="Microsoft.NET.Sdk">
|
230
249
|
<PropertyGroup>
|
231
|
-
<TargetFramework>
|
250
|
+
<TargetFramework>net8.0</TargetFramework>
|
232
251
|
</PropertyGroup>
|
233
252
|
|
234
253
|
<ItemGroup>
|
235
|
-
<PackageReference Include="
|
254
|
+
<PackageReference Include="Some.Package" Version="13.0.1" />
|
236
255
|
</ItemGroup>
|
237
256
|
</Project>
|
238
257
|
""")
|
239
|
-
]
|
258
|
+
]
|
259
|
+
);
|
240
260
|
}
|
241
261
|
|
242
262
|
[Fact]
|
243
263
|
public async Task UpdateSingleDependencyInNestedDirsProjUsingRecursiveWildcard()
|
244
264
|
{
|
245
|
-
await TestUpdateForDirsProj("
|
265
|
+
await TestUpdateForDirsProj("Some.Package", "9.0.1", "13.0.1",
|
266
|
+
packages:
|
267
|
+
[
|
268
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "9.0.1", "net8.0"),
|
269
|
+
MockNuGetPackage.CreateSimplePackage("Some.Package", "13.0.1", "net8.0"),
|
270
|
+
],
|
246
271
|
// initial
|
247
272
|
projectContents: """
|
248
|
-
|
273
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
249
274
|
|
250
|
-
|
251
|
-
|
252
|
-
|
275
|
+
<ItemGroup>
|
276
|
+
<ProjectReference Include="**/*.proj" />
|
277
|
+
</ItemGroup>
|
253
278
|
|
254
|
-
|
255
|
-
|
279
|
+
</Project>
|
280
|
+
""",
|
256
281
|
additionalFiles:
|
257
282
|
[
|
258
283
|
("src/dirs.proj",
|
@@ -269,25 +294,25 @@ public partial class UpdateWorkerTests
|
|
269
294
|
"""
|
270
295
|
<Project Sdk="Microsoft.NET.Sdk">
|
271
296
|
<PropertyGroup>
|
272
|
-
<TargetFramework>
|
297
|
+
<TargetFramework>net8.0</TargetFramework>
|
273
298
|
</PropertyGroup>
|
274
299
|
|
275
300
|
<ItemGroup>
|
276
|
-
<PackageReference Include="
|
301
|
+
<PackageReference Include="Some.Package" Version="9.0.1" />
|
277
302
|
</ItemGroup>
|
278
303
|
</Project>
|
279
304
|
""")
|
280
305
|
],
|
281
306
|
// expected
|
282
307
|
expectedProjectContents: """
|
283
|
-
|
308
|
+
<Project Sdk="Microsoft.Build.NoTargets">
|
284
309
|
|
285
|
-
|
286
|
-
|
287
|
-
|
310
|
+
<ItemGroup>
|
311
|
+
<ProjectReference Include="**/*.proj" />
|
312
|
+
</ItemGroup>
|
288
313
|
|
289
|
-
|
290
|
-
|
314
|
+
</Project>
|
315
|
+
""",
|
291
316
|
additionalFilesExpected:
|
292
317
|
[
|
293
318
|
("src/dirs.proj",
|
@@ -304,15 +329,16 @@ public partial class UpdateWorkerTests
|
|
304
329
|
"""
|
305
330
|
<Project Sdk="Microsoft.NET.Sdk">
|
306
331
|
<PropertyGroup>
|
307
|
-
<TargetFramework>
|
332
|
+
<TargetFramework>net8.0</TargetFramework>
|
308
333
|
</PropertyGroup>
|
309
334
|
|
310
335
|
<ItemGroup>
|
311
|
-
<PackageReference Include="
|
336
|
+
<PackageReference Include="Some.Package" Version="13.0.1" />
|
312
337
|
</ItemGroup>
|
313
338
|
</Project>
|
314
339
|
""")
|
315
|
-
]
|
340
|
+
]
|
341
|
+
);
|
316
342
|
}
|
317
343
|
|
318
344
|
static async Task TestUpdateForDirsProj(
|
@@ -323,7 +349,8 @@ public partial class UpdateWorkerTests
|
|
323
349
|
string expectedProjectContents,
|
324
350
|
bool isTransitive = false,
|
325
351
|
(string Path, string Content)[]? additionalFiles = null,
|
326
|
-
(string Path, string Content)[]? additionalFilesExpected = null
|
352
|
+
(string Path, string Content)[]? additionalFilesExpected = null,
|
353
|
+
MockNuGetPackage[]? packages = null)
|
327
354
|
{
|
328
355
|
additionalFiles ??= [];
|
329
356
|
additionalFilesExpected ??= [];
|
@@ -334,6 +361,8 @@ public partial class UpdateWorkerTests
|
|
334
361
|
|
335
362
|
var actualResult = await RunUpdate(testFiles, async (temporaryDirectory) =>
|
336
363
|
{
|
364
|
+
await MockNuGetPackagesInDirectory(packages, temporaryDirectory);
|
365
|
+
|
337
366
|
var projectPath = Path.Combine(temporaryDirectory, projectFileName);
|
338
367
|
var worker = new UpdaterWorker(new Logger(verbose: true));
|
339
368
|
await worker.RunAsync(temporaryDirectory, projectPath, dependencyName, oldVersion, newVersion, isTransitive);
|