dependabot-nuget 0.288.0 → 0.290.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 +19 -17
- data/helpers/lib/NuGetUpdater/NuGetProjects/NuGet.Packaging/NuGet.Packaging.csproj +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/AnalyzeCommand.cs +7 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli/Commands/RunCommand.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Analyze.cs +29 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Discover.cs +25 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/EntryPointTests.Run.cs +0 -6
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/AnalyzeWorker.cs +33 -16
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/CompatabilityChecker.cs +25 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/NuGetContext.cs +0 -13
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/RequirementArrayConverter.cs +39 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Analyze/VersionFinder.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Clone/ShellGitCommandHandler.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +60 -66
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DotNetToolsJsonDiscovery.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/GlobalJsonDiscovery.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscovery.cs +11 -3
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/PackagesConfigDiscoveryResult.cs +1 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/ProjectDiscoveryResult.cs +2 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +54 -11
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/WorkspaceDiscoveryResult.cs +0 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +1 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Files/JsonBuildFile.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/FrameworkChecker/CompatabilityChecker.cs +2 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Advisory.cs +13 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/AllowedUpdate.cs +18 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CommitOptions.cs +8 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Condition.cs +19 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyGroup.cs +8 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/GroupPullRequest.cs +9 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs +13 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PullRequest.cs +11 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/RequirementsUpdateStrategy.cs +15 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +67 -58
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/VersionConverter.cs +19 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/BindingRedirectManager.cs +15 -44
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/DotNetToolsJsonUpdater.cs +4 -4
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/GlobalJsonUpdater.cs +5 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/LockFileUpdater.cs +2 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +38 -33
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackagesConfigUpdater.cs +25 -23
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdaterWorker.cs +16 -12
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ConsoleLogger.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/DependencyConflictResolver.cs +19 -19
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ILogger.cs +11 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/JsonHelper.cs +2 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +18 -17
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/NuGetHelper.cs +1 -17
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +17 -9
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/ProjectHelper.cs +96 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTestBase.cs +5 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Analyze/AnalyzeWorkerTests.cs +87 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTestBase.cs +2 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.DotNetToolsJson.cs +45 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs +35 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +16 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Proj.cs +6 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +143 -36
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +184 -48
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/ExpectedDiscoveryResults.cs +5 -5
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +32 -10
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +85 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +402 -102
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +342 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdatedDependencyListTests.cs +60 -2
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TemporaryDirectory.cs +18 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/TestLogger.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/BindingRedirectsTests.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackagesConfigUpdaterTests.cs +24 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTestBase.cs +4 -14
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.DotNetTools.cs +84 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.GlobalJson.cs +66 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +95 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackagesConfig.cs +1 -7
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/AssertEx.cs +1 -1
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/LinuxOnlyAttribute.cs +12 -0
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +558 -711
- data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs +47 -2
- data/lib/dependabot/nuget/analysis/analysis_json_reader.rb +4 -2
- data/lib/dependabot/nuget/analysis/dependency_analysis.rb +3 -3
- data/lib/dependabot/nuget/discovery/dependency_details.rb +10 -3
- data/lib/dependabot/nuget/discovery/dependency_file_discovery.rb +8 -12
- data/lib/dependabot/nuget/discovery/discovery_json_reader.rb +214 -29
- data/lib/dependabot/nuget/discovery/project_discovery.rb +41 -8
- data/lib/dependabot/nuget/discovery/workspace_discovery.rb +14 -19
- data/lib/dependabot/nuget/file_fetcher.rb +11 -393
- data/lib/dependabot/nuget/file_parser.rb +23 -61
- data/lib/dependabot/nuget/file_updater.rb +28 -23
- data/lib/dependabot/nuget/native_helpers.rb +14 -5
- data/lib/dependabot/nuget/update_checker/requirements_updater.rb +23 -27
- data/lib/dependabot/nuget/update_checker.rb +116 -190
- metadata +20 -32
- data/helpers/lib/NuGetUpdater/NuGetProjects/Directory.Packages.props +0 -29
- data/lib/dependabot/nuget/discovery/directory_packages_props_discovery.rb +0 -43
- data/lib/dependabot/nuget/file_fetcher/import_paths_finder.rb +0 -73
- data/lib/dependabot/nuget/file_fetcher/sln_project_paths_finder.rb +0 -60
- data/lib/dependabot/nuget/http_response_helpers.rb +0 -19
- data/lib/dependabot/nuget/native_discovery/native_dependency_details.rb +0 -102
- data/lib/dependabot/nuget/native_discovery/native_dependency_file_discovery.rb +0 -129
- data/lib/dependabot/nuget/native_discovery/native_discovery_json_reader.rb +0 -171
- data/lib/dependabot/nuget/native_discovery/native_evaluation_details.rb +0 -63
- data/lib/dependabot/nuget/native_discovery/native_project_discovery.rb +0 -82
- data/lib/dependabot/nuget/native_discovery/native_property_details.rb +0 -43
- data/lib/dependabot/nuget/native_discovery/native_workspace_discovery.rb +0 -68
- data/lib/dependabot/nuget/native_update_checker/native_requirements_updater.rb +0 -105
- data/lib/dependabot/nuget/native_update_checker/native_update_checker.rb +0 -201
- data/lib/dependabot/nuget/nuget_client.rb +0 -223
- data/lib/dependabot/nuget/update_checker/compatibility_checker.rb +0 -116
- data/lib/dependabot/nuget/update_checker/dependency_finder.rb +0 -297
- data/lib/dependabot/nuget/update_checker/nupkg_fetcher.rb +0 -221
- data/lib/dependabot/nuget/update_checker/nuspec_fetcher.rb +0 -110
- data/lib/dependabot/nuget/update_checker/property_updater.rb +0 -196
- data/lib/dependabot/nuget/update_checker/repository_finder.rb +0 -466
- data/lib/dependabot/nuget/update_checker/tfm_comparer.rb +0 -34
- data/lib/dependabot/nuget/update_checker/tfm_finder.rb +0 -30
- data/lib/dependabot/nuget/update_checker/version_finder.rb +0 -449
@@ -32,6 +32,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
32
32
|
Dependencies = [
|
33
33
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
34
34
|
],
|
35
|
+
ReferencedProjectPaths = [],
|
36
|
+
ImportedFiles = [],
|
37
|
+
AdditionalFiles = [],
|
35
38
|
},
|
36
39
|
],
|
37
40
|
},
|
@@ -80,6 +83,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
80
83
|
new("Some.Package", "4.0.1", DependencyType.PackageReference),
|
81
84
|
new("Some.Transitive.Dependency", "4.0.1", DependencyType.PackageReference),
|
82
85
|
],
|
86
|
+
ReferencedProjectPaths = [],
|
87
|
+
ImportedFiles = [],
|
88
|
+
AdditionalFiles = [],
|
83
89
|
},
|
84
90
|
],
|
85
91
|
},
|
@@ -129,6 +135,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
129
135
|
Dependencies = [
|
130
136
|
new("Some.Transitive.Dependency", "4.0.1", DependencyType.PackageReference, EvaluationResult: evaluationResult, TargetFrameworks: ["net8.0"]),
|
131
137
|
],
|
138
|
+
ReferencedProjectPaths = [],
|
139
|
+
ImportedFiles = [],
|
140
|
+
AdditionalFiles = [],
|
132
141
|
},
|
133
142
|
new()
|
134
143
|
{
|
@@ -137,6 +146,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
137
146
|
Dependencies = [
|
138
147
|
new("Some.Package", "4.0.1", DependencyType.PackageReference, EvaluationResult: evaluationResult, TargetFrameworks: ["net8.0"]),
|
139
148
|
],
|
149
|
+
ReferencedProjectPaths = [],
|
150
|
+
ImportedFiles = [],
|
151
|
+
AdditionalFiles = [],
|
140
152
|
},
|
141
153
|
],
|
142
154
|
},
|
@@ -187,6 +199,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
187
199
|
Dependencies = [
|
188
200
|
new("Package.A", "4.5.0", DependencyType.PackageReference, EvaluationResult: evaluationResult, TargetFrameworks: ["net8.0"]),
|
189
201
|
],
|
202
|
+
ReferencedProjectPaths = [],
|
203
|
+
ImportedFiles = [],
|
204
|
+
AdditionalFiles = [],
|
190
205
|
},
|
191
206
|
new()
|
192
207
|
{
|
@@ -195,6 +210,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
195
210
|
Dependencies = [
|
196
211
|
new("Package.B", "4.5.0", DependencyType.PackageReference, EvaluationResult: evaluationResult, TargetFrameworks: ["net8.0"]),
|
197
212
|
],
|
213
|
+
ReferencedProjectPaths = [],
|
214
|
+
ImportedFiles = [],
|
215
|
+
AdditionalFiles = [],
|
198
216
|
},
|
199
217
|
],
|
200
218
|
},
|
@@ -241,6 +259,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
241
259
|
Dependencies = [
|
242
260
|
new("Some.Transitive.Dependency", "$(MissingPackageVersion)", DependencyType.PackageReference, EvaluationResult: new EvaluationResult(EvaluationResultType.PropertyNotFound, "$(MissingPackageVersion)", "$(MissingPackageVersion)", "$(MissingPackageVersion)", ErrorMessage: null)),
|
243
261
|
],
|
262
|
+
ReferencedProjectPaths = [],
|
263
|
+
ImportedFiles = [],
|
264
|
+
AdditionalFiles = [],
|
244
265
|
},
|
245
266
|
],
|
246
267
|
},
|
@@ -281,6 +302,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
281
302
|
Dependencies = [
|
282
303
|
new("Some.Package", "1.0.0", DependencyType.PackageReference), // this was found in the source, but doesn't exist in any feed
|
283
304
|
],
|
305
|
+
ReferencedProjectPaths = [],
|
306
|
+
ImportedFiles = [],
|
307
|
+
AdditionalFiles = [],
|
284
308
|
},
|
285
309
|
],
|
286
310
|
},
|
@@ -326,6 +350,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
326
350
|
Dependencies = [
|
327
351
|
new("Some.Transitive.Dependency", "4.0.1", DependencyType.PackageReference),
|
328
352
|
],
|
353
|
+
ReferencedProjectPaths = [],
|
354
|
+
ImportedFiles = [],
|
355
|
+
AdditionalFiles = [],
|
329
356
|
},
|
330
357
|
],
|
331
358
|
},
|
@@ -366,7 +393,10 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
366
393
|
TargetFrameworks = ["net8.0"],
|
367
394
|
Dependencies = [
|
368
395
|
new("Some.Package", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
369
|
-
]
|
396
|
+
],
|
397
|
+
ReferencedProjectPaths = [],
|
398
|
+
ImportedFiles = [],
|
399
|
+
AdditionalFiles = [],
|
370
400
|
},
|
371
401
|
new()
|
372
402
|
{
|
@@ -374,7 +404,10 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
374
404
|
TargetFrameworks = ["NET8.0"],
|
375
405
|
Dependencies = [
|
376
406
|
new("Some.Package", "1.0.0", DependencyType.PackageReference, TargetFrameworks: ["net8.0"]),
|
377
|
-
]
|
407
|
+
],
|
408
|
+
ReferencedProjectPaths = [],
|
409
|
+
ImportedFiles = [],
|
410
|
+
AdditionalFiles = [],
|
378
411
|
}
|
379
412
|
]
|
380
413
|
},
|
@@ -418,6 +451,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
418
451
|
Dependencies = [
|
419
452
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
420
453
|
],
|
454
|
+
ReferencedProjectPaths = [],
|
455
|
+
ImportedFiles = [],
|
456
|
+
AdditionalFiles = [],
|
421
457
|
},
|
422
458
|
],
|
423
459
|
},
|
@@ -585,7 +621,10 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
585
621
|
Dependencies =
|
586
622
|
[
|
587
623
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
588
|
-
]
|
624
|
+
],
|
625
|
+
ReferencedProjectPaths = [],
|
626
|
+
ImportedFiles = [],
|
627
|
+
AdditionalFiles = [],
|
589
628
|
}
|
590
629
|
]
|
591
630
|
},
|
@@ -754,7 +793,10 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
754
793
|
Dependencies =
|
755
794
|
[
|
756
795
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
757
|
-
]
|
796
|
+
],
|
797
|
+
ReferencedProjectPaths = [],
|
798
|
+
ImportedFiles = [],
|
799
|
+
AdditionalFiles = [],
|
758
800
|
}
|
759
801
|
]
|
760
802
|
},
|
@@ -939,7 +981,10 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
939
981
|
Dependencies =
|
940
982
|
[
|
941
983
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
942
|
-
]
|
984
|
+
],
|
985
|
+
ReferencedProjectPaths = [],
|
986
|
+
ImportedFiles = [],
|
987
|
+
AdditionalFiles = [],
|
943
988
|
}
|
944
989
|
]
|
945
990
|
},
|
@@ -1049,6 +1094,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
1049
1094
|
Dependencies = [
|
1050
1095
|
new("Some.Package", "1.2.3", DependencyType.PackageReference),
|
1051
1096
|
],
|
1097
|
+
ReferencedProjectPaths = [],
|
1098
|
+
ImportedFiles = [],
|
1099
|
+
AdditionalFiles = [],
|
1052
1100
|
}
|
1053
1101
|
]
|
1054
1102
|
},
|
@@ -1167,6 +1215,9 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
1167
1215
|
Dependencies = [
|
1168
1216
|
new("Some.Package", "1.0.0", DependencyType.PackageReference),
|
1169
1217
|
],
|
1218
|
+
ReferencedProjectPaths = [],
|
1219
|
+
ImportedFiles = [],
|
1220
|
+
AdditionalFiles = [],
|
1170
1221
|
}
|
1171
1222
|
]
|
1172
1223
|
},
|
@@ -1187,4 +1238,35 @@ public partial class AnalyzeWorkerTests : AnalyzeWorkerTestBase
|
|
1187
1238
|
}
|
1188
1239
|
);
|
1189
1240
|
}
|
1241
|
+
|
1242
|
+
[Fact]
|
1243
|
+
public void DeserializeDependencyInfo_UnsupportedIgnoredVersionsAreIgnored()
|
1244
|
+
{
|
1245
|
+
// arrange
|
1246
|
+
// "1.0.0.pre.rc2" isn't a valid NuGet version; ignore that requirement
|
1247
|
+
var json = """
|
1248
|
+
{
|
1249
|
+
"Name": "Some.Package",
|
1250
|
+
"Version": "1.10.0",
|
1251
|
+
"IsVulnerable": false,
|
1252
|
+
"IgnoredVersions": [
|
1253
|
+
"> 1.0.0.pre.rc2, < 2",
|
1254
|
+
"< 1.0.1"
|
1255
|
+
],
|
1256
|
+
"Vulnerabilities": []
|
1257
|
+
}
|
1258
|
+
""";
|
1259
|
+
|
1260
|
+
// act
|
1261
|
+
var dependencyInfo = AnalyzeWorker.DeserializeDependencyInfo(json);
|
1262
|
+
|
1263
|
+
// assert
|
1264
|
+
Assert.NotNull(dependencyInfo);
|
1265
|
+
Assert.Equal("Some.Package", dependencyInfo.Name);
|
1266
|
+
Assert.Equal("1.10.0", dependencyInfo.Version);
|
1267
|
+
Assert.False(dependencyInfo.IsVulnerable);
|
1268
|
+
Assert.Single(dependencyInfo.IgnoredVersions);
|
1269
|
+
Assert.Equal("< 1.0.1", dependencyInfo.IgnoredVersions.Single().ToString());
|
1270
|
+
Assert.Empty(dependencyInfo.Vulnerabilities);
|
1271
|
+
}
|
1190
1272
|
}
|
@@ -43,7 +43,6 @@ public class DiscoveryWorkerTestBase : TestBase
|
|
43
43
|
ValidateResultWithDependencies(expectedResult.GlobalJson, actualResult.GlobalJson);
|
44
44
|
ValidateResultWithDependencies(expectedResult.DotNetToolsJson, actualResult.DotNetToolsJson);
|
45
45
|
ValidateProjectResults(expectedResult.Projects, actualResult.Projects, experimentsManager);
|
46
|
-
AssertEx.Equal(expectedResult.ImportedFiles, actualResult.ImportedFiles, PathComparer.Instance);
|
47
46
|
Assert.Equal(expectedResult.ExpectedProjectCount ?? expectedResult.Projects.Length, actualResult.Projects.Length);
|
48
47
|
Assert.Equal(expectedResult.ErrorType, actualResult.ErrorType);
|
49
48
|
Assert.Equal(expectedResult.ErrorDetails, actualResult.ErrorDetails);
|
@@ -92,10 +91,8 @@ public class DiscoveryWorkerTestBase : TestBase
|
|
92
91
|
AssertEx.Equal(expectedProject.Properties, actualProperties, PropertyComparer.Instance);
|
93
92
|
AssertEx.Equal(expectedProject.TargetFrameworks, actualProject.TargetFrameworks);
|
94
93
|
AssertEx.Equal(expectedProject.ReferencedProjectPaths, actualProject.ReferencedProjectPaths);
|
95
|
-
|
96
|
-
|
97
|
-
AssertEx.Equal(expectedProject.ImportedFiles.Value.Select(PathHelper.NormalizePathToUnix), actualProject.ImportedFiles.Select(PathHelper.NormalizePathToUnix));
|
98
|
-
}
|
94
|
+
AssertEx.Equal(expectedProject.ImportedFiles, actualProject.ImportedFiles);
|
95
|
+
AssertEx.Equal(expectedProject.AdditionalFiles, actualProject.AdditionalFiles);
|
99
96
|
|
100
97
|
// some dependencies are byproducts of the older temporary project discovery process and shouldn't be returned
|
101
98
|
var actualDependencies = actualProject.Dependencies;
|
@@ -50,6 +50,50 @@ public partial class DiscoveryWorkerTests
|
|
50
50
|
);
|
51
51
|
}
|
52
52
|
|
53
|
+
[Fact]
|
54
|
+
public async Task DiscoversDependenciesTrailingComma()
|
55
|
+
{
|
56
|
+
await TestDiscoveryAsync(
|
57
|
+
packages: [],
|
58
|
+
workspacePath: "",
|
59
|
+
files: [
|
60
|
+
(".config/dotnet-tools.json", """
|
61
|
+
{
|
62
|
+
"version": 1,
|
63
|
+
"isRoot": true,
|
64
|
+
"tools": {
|
65
|
+
"botsay": {
|
66
|
+
"version": "1.0.0",
|
67
|
+
"commands": [
|
68
|
+
"botsay"
|
69
|
+
],
|
70
|
+
},
|
71
|
+
"dotnetsay": {
|
72
|
+
"version": "1.0.0",
|
73
|
+
"commands": [
|
74
|
+
"dotnetsay"
|
75
|
+
],
|
76
|
+
}
|
77
|
+
}
|
78
|
+
}
|
79
|
+
"""),
|
80
|
+
],
|
81
|
+
expectedResult: new()
|
82
|
+
{
|
83
|
+
Path = "",
|
84
|
+
DotNetToolsJson = new()
|
85
|
+
{
|
86
|
+
FilePath = ".config/dotnet-tools.json",
|
87
|
+
Dependencies = [
|
88
|
+
new("botsay", "1.0.0", DependencyType.DotNetTool),
|
89
|
+
new("dotnetsay", "1.0.0", DependencyType.DotNetTool),
|
90
|
+
]
|
91
|
+
},
|
92
|
+
ExpectedProjectCount = 0,
|
93
|
+
}
|
94
|
+
);
|
95
|
+
}
|
96
|
+
|
53
97
|
[Fact]
|
54
98
|
public async Task ReportsFailure()
|
55
99
|
{
|
@@ -74,7 +118,7 @@ public partial class DiscoveryWorkerTests
|
|
74
118
|
"dotnetsay"
|
75
119
|
]
|
76
120
|
}
|
77
|
-
}
|
121
|
+
} INVALID JSON
|
78
122
|
}
|
79
123
|
"""),
|
80
124
|
],
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.GlobalJson.cs
CHANGED
@@ -40,6 +40,40 @@ public partial class DiscoveryWorkerTests
|
|
40
40
|
);
|
41
41
|
}
|
42
42
|
|
43
|
+
[Fact]
|
44
|
+
public async Task DiscoversDependencies_HandlesTrailingComma()
|
45
|
+
{
|
46
|
+
await TestDiscoveryAsync(
|
47
|
+
packages: [],
|
48
|
+
workspacePath: "",
|
49
|
+
files: [
|
50
|
+
("global.json", """
|
51
|
+
{
|
52
|
+
"sdk": {
|
53
|
+
"version": "2.2.104"
|
54
|
+
},
|
55
|
+
"msbuild-sdks": {
|
56
|
+
"Microsoft.Build.Traversal": "1.0.45"
|
57
|
+
},
|
58
|
+
}
|
59
|
+
"""),
|
60
|
+
],
|
61
|
+
expectedResult: new()
|
62
|
+
{
|
63
|
+
Path = "",
|
64
|
+
GlobalJson = new()
|
65
|
+
{
|
66
|
+
FilePath = "global.json",
|
67
|
+
Dependencies = [
|
68
|
+
new("Microsoft.NET.Sdk", "2.2.104", DependencyType.MSBuildSdk),
|
69
|
+
new("Microsoft.Build.Traversal", "1.0.45", DependencyType.MSBuildSdk),
|
70
|
+
]
|
71
|
+
},
|
72
|
+
ExpectedProjectCount = 0,
|
73
|
+
}
|
74
|
+
);
|
75
|
+
}
|
76
|
+
|
43
77
|
[Fact]
|
44
78
|
public async Task ReportsFailure()
|
45
79
|
{
|
@@ -50,7 +84,7 @@ public partial class DiscoveryWorkerTests
|
|
50
84
|
("global.json", """
|
51
85
|
{
|
52
86
|
"sdk": {
|
53
|
-
"version": "2.2.104",
|
87
|
+
"version": "2.2.104", INVALID JSON
|
54
88
|
},
|
55
89
|
"msbuild-sdks": {
|
56
90
|
"Microsoft.Build.Traversal": "1.0.45"
|
data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs
CHANGED
@@ -30,6 +30,9 @@ public partial class DiscoveryWorkerTests
|
|
30
30
|
<PropertyGroup>
|
31
31
|
<TargetFramework>net46</TargetFramework>
|
32
32
|
</PropertyGroup>
|
33
|
+
<ItemGroup>
|
34
|
+
<None Include="packages.config" />
|
35
|
+
</ItemGroup>
|
33
36
|
</Project>
|
34
37
|
""")
|
35
38
|
],
|
@@ -48,6 +51,11 @@ public partial class DiscoveryWorkerTests
|
|
48
51
|
new("Package.A", "1.0.0", DependencyType.PackagesConfig, TargetFrameworks: ["net46"]),
|
49
52
|
new("Package.B", "2.0.0", DependencyType.PackagesConfig, TargetFrameworks: ["net46"]),
|
50
53
|
],
|
54
|
+
ReferencedProjectPaths = [],
|
55
|
+
ImportedFiles = [],
|
56
|
+
AdditionalFiles = [
|
57
|
+
"packages.config"
|
58
|
+
],
|
51
59
|
}
|
52
60
|
],
|
53
61
|
}
|
@@ -78,6 +86,9 @@ public partial class DiscoveryWorkerTests
|
|
78
86
|
<PropertyGroup>
|
79
87
|
<TargetFramework>net46</TargetFramework>
|
80
88
|
</PropertyGroup>
|
89
|
+
<ItemGroup>
|
90
|
+
<None Include="packages.config" />
|
91
|
+
</ItemGroup>
|
81
92
|
</Project>
|
82
93
|
""")
|
83
94
|
],
|
@@ -94,6 +105,11 @@ public partial class DiscoveryWorkerTests
|
|
94
105
|
new("Package.A", "1.0.0", DependencyType.PackagesConfig, TargetFrameworks: ["net46"]),
|
95
106
|
new("Package.B", "2.0.0", DependencyType.PackagesConfig, TargetFrameworks: ["net46"]),
|
96
107
|
],
|
108
|
+
ReferencedProjectPaths = [],
|
109
|
+
ImportedFiles = [],
|
110
|
+
AdditionalFiles = [
|
111
|
+
"packages.config"
|
112
|
+
],
|
97
113
|
}
|
98
114
|
],
|
99
115
|
}
|
@@ -73,6 +73,9 @@ public partial class DiscoveryWorkerTests
|
|
73
73
|
new("TargetFramework", "net8.0", "src/project1/project1.csproj")
|
74
74
|
],
|
75
75
|
TargetFrameworks = ["net8.0"],
|
76
|
+
ReferencedProjectPaths = [],
|
77
|
+
ImportedFiles = [],
|
78
|
+
AdditionalFiles = [],
|
76
79
|
},
|
77
80
|
new()
|
78
81
|
{
|
@@ -86,6 +89,9 @@ public partial class DiscoveryWorkerTests
|
|
86
89
|
new("TargetFramework", "net8.0", "src/project2/project2.csproj")
|
87
90
|
],
|
88
91
|
TargetFrameworks = ["net8.0"],
|
92
|
+
ReferencedProjectPaths = [],
|
93
|
+
ImportedFiles = [],
|
94
|
+
AdditionalFiles = [],
|
89
95
|
}
|
90
96
|
]
|
91
97
|
}
|