dependabot-nuget 0.351.0 → 0.353.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 (34) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/DiscoveryWorker.cs +17 -43
  3. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Discover/SdkProjectDiscovery.cs +102 -46
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/ExperimentsManager.cs +0 -3
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/DependencyGroup.cs +19 -0
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs +23 -2
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +4 -2
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/OutOfDisk.cs +9 -0
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/IApiHandler.cs +11 -1
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +25 -4
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/CreateSecurityUpdatePullRequestHandler.cs +2 -2
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/GroupUpdateAllVersionsHandler.cs +48 -35
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshGroupUpdatePullRequestHandler.cs +3 -3
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshSecurityUpdatePullRequestHandler.cs +2 -2
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/UpdateHandlers/RefreshVersionUpdatePullRequestHandler.cs +2 -2
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/PackageReferenceUpdater.cs +20 -23
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +41 -1
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/PathHelper.cs +93 -0
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.PackagesConfig.cs +2 -5
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.Project.cs +21 -9
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +51 -96
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/SdkProjectDiscoveryTests.cs +1 -66
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/ApiModel/JobTests.cs +39 -0
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/EndToEndTests.cs +142 -0
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/HttpApiHandlerTests.cs +1 -0
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/JobErrorBaseTests.cs +7 -0
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +11 -0
  28. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MiscellaneousTests.cs +76 -7
  29. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +8 -0
  30. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/UpdateHandlers/GroupUpdateAllVersionsHandlerTests.cs +242 -0
  31. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/PackageReferenceUpdaterTests.cs +30 -0
  32. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +25 -0
  33. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs +250 -0
  34. metadata +5 -4
@@ -35,6 +35,256 @@ public class PathHelperTests
35
35
  Assert.Equal(expected, resolvedPath!.First());
36
36
  }
37
37
 
38
+ [Theory]
39
+ [MemberData(nameof(DirectoryPatternMatchTestData))]
40
+ public async Task DirectoryPatternMatch(string rawSearchPattern, string[] directoriesOnDisk, string[] expectedDirectories)
41
+ {
42
+ // arrange
43
+ using var tempDir = await TemporaryDirectory.CreateWithContentsAsync([.. directoriesOnDisk.Select(d => (Path.Combine(d, "file.txt"), "contents irrelevant"))]);
44
+
45
+ // test both rooted and unrooted patterns
46
+ var unrootedSearchPattern = rawSearchPattern.TrimStart('/');
47
+ var rootedSearchPattern = rawSearchPattern.EnsurePrefix("/");
48
+ foreach (var searchPattern in new[] { unrootedSearchPattern, rootedSearchPattern })
49
+ {
50
+ // act
51
+ var actualDirectories = PathHelper.GetMatchingDirectoriesUnder(tempDir.DirectoryPath, searchPattern, caseSensitive: true).ToArray();
52
+
53
+ // assert
54
+ AssertEx.Equal(expectedDirectories, actualDirectories);
55
+ }
56
+ }
57
+
58
+ public static IEnumerable<object[]> DirectoryPatternMatchTestData()
59
+ {
60
+ // root syntax 1
61
+ yield return
62
+ [
63
+ // searchPattern
64
+ "/",
65
+ // directoriesOnDisk
66
+ new[]
67
+ {
68
+ "src/client/android"
69
+ },
70
+ // expectedDirectories
71
+ new[]
72
+ {
73
+ "/"
74
+ }
75
+ ];
76
+
77
+ // root syntax 2
78
+ yield return
79
+ [
80
+ // searchPattern
81
+ ".",
82
+ // directoriesOnDisk
83
+ new[]
84
+ {
85
+ "src/client/android"
86
+ },
87
+ // expectedDirectories
88
+ new[]
89
+ {
90
+ "/"
91
+ }
92
+ ];
93
+
94
+ // no pattern, no match
95
+ yield return
96
+ [
97
+ // searchPattern
98
+ "src/client/winphone",
99
+ // directoriesOnDisk
100
+ new[]
101
+ {
102
+ "src/client/android",
103
+ "src/client/android/ui",
104
+ "src/client/ios",
105
+ "src/client/ios/ui"
106
+ },
107
+ // expectedDirectories
108
+ Array.Empty<string>()
109
+ ];
110
+
111
+ // no pattern, single match
112
+ yield return
113
+ [
114
+ // searchPattern
115
+ "src/client/android",
116
+ // directoriesOnDisk
117
+ new[]
118
+ {
119
+ "src/client/android",
120
+ "src/client/android/ui",
121
+ "src/client/android-old",
122
+ "src/client/ios",
123
+ "src/client/ios/ui"
124
+ },
125
+ // expectedDirectories
126
+ new[]
127
+ {
128
+ "/src/client/android"
129
+ }
130
+ ];
131
+
132
+ // no pattern, windows directory separator, single match
133
+ yield return
134
+ [
135
+ // searchPattern
136
+ @"src\client\android",
137
+ // directoriesOnDisk
138
+ new[]
139
+ {
140
+ "src/client/android",
141
+ "src/client/android/ui",
142
+ "src/client/ios",
143
+ "src/client/ios/ui"
144
+ },
145
+ // expectedDirectories
146
+ new[]
147
+ {
148
+ "/src/client/android"
149
+ }
150
+ ];
151
+
152
+ // single level wildcard
153
+ yield return
154
+ [
155
+ // searchPattern
156
+ "src/client/*/ui",
157
+ // directoriesOnDisk
158
+ new[]
159
+ {
160
+ "src/client/android/ui",
161
+ "src/client/ios/ui",
162
+ "src/client/winphone/deprecated/ui",
163
+ "src/internal/android/ui",
164
+ "src/legacy/ui"
165
+ },
166
+ // expectedDirectories
167
+ new[]
168
+ {
169
+ "/src/client/android/ui",
170
+ "/src/client/ios/ui",
171
+ }
172
+ ];
173
+
174
+ // single level partial wildcard
175
+ yield return
176
+ [
177
+ // searchPattern
178
+ "src/client/a*/ui",
179
+ // directoriesOnDisk
180
+ new[]
181
+ {
182
+ "src/client/android/ui",
183
+ "src/client/ios/ui",
184
+ "src/internal/android/ui",
185
+ "src/legacy/ui"
186
+ },
187
+ // expectedDirectories
188
+ new[]
189
+ {
190
+ "/src/client/android/ui",
191
+ }
192
+ ];
193
+
194
+ // multi level wildcard
195
+ yield return
196
+ [
197
+ // searchPattern
198
+ "src/*/*/ui",
199
+ // directoriesOnDisk
200
+ new[]
201
+ {
202
+ "src/client/android/ui",
203
+ "src/client/ios/ui",
204
+ "src/client/winphone/deprecated/ui",
205
+ "src/internal/android/ui",
206
+ "src/legacy/ui"
207
+ },
208
+ // expectedDirectories
209
+ new[]
210
+ {
211
+ "/src/client/android/ui",
212
+ "/src/client/ios/ui",
213
+ "/src/internal/android/ui",
214
+ }
215
+ ];
216
+
217
+ // recursive wildcard with suffix
218
+ yield return
219
+ [
220
+ // searchPattern
221
+ "src/**/ui",
222
+ // directoriesOnDisk
223
+ new[]
224
+ {
225
+ "src/client/android/ui",
226
+ "src/client/ios/ui",
227
+ "src/internal/ui",
228
+ "src/server/windows/container"
229
+ },
230
+ // expectedDirectories
231
+ new[]
232
+ {
233
+ "/src/client/android/ui",
234
+ "/src/client/ios/ui",
235
+ "/src/internal/ui"
236
+ }
237
+ ];
238
+
239
+ // recursive wildcard from beginning to end
240
+ yield return
241
+ [
242
+ // searchPattern
243
+ "**/*",
244
+ // directoriesOnDisk
245
+ new[]
246
+ {
247
+ "src/client/android/ui",
248
+ "src/client/ios/ui"
249
+ },
250
+ // expectedDirectories
251
+ new[]
252
+ {
253
+ "/",
254
+ "/src",
255
+ "/src/client",
256
+ "/src/client/android",
257
+ "/src/client/android/ui",
258
+ "/src/client/ios",
259
+ "/src/client/ios/ui"
260
+ }
261
+ ];
262
+
263
+ // recursive wildcard with prefix to end
264
+ yield return
265
+ [
266
+ // searchPattern
267
+ "src/**/*",
268
+ // directoriesOnDisk
269
+ new[]
270
+ {
271
+ "src/client/android/ui",
272
+ "src/client/ios/ui",
273
+ "src-dont-include-this/ui"
274
+ },
275
+ // expectedDirectories
276
+ new[]
277
+ {
278
+ "/src",
279
+ "/src/client",
280
+ "/src/client/android",
281
+ "/src/client/android/ui",
282
+ "/src/client/ios",
283
+ "/src/client/ios/ui"
284
+ }
285
+ ];
286
+ }
287
+
38
288
  [LinuxOnlyFact]
39
289
  public void VerifyMultipleMatchingPathsReturnsAllPaths()
40
290
  {
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.351.0
4
+ version: 0.353.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.351.0
18
+ version: 0.353.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.351.0
25
+ version: 0.353.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: debug
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -459,6 +459,7 @@ files:
459
459
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobSource.cs
460
460
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/MarkAsProcessed.cs
461
461
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/MessageBase.cs
462
+ - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/OutOfDisk.cs
462
463
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceAuthenticationFailure.cs
463
464
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceBadResponse.cs
464
465
  - helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/PrivateSourceTimedOut.cs
@@ -552,7 +553,7 @@ licenses:
552
553
  - MIT
553
554
  metadata:
554
555
  bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
555
- changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.351.0
556
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.353.0
556
557
  rdoc_options: []
557
558
  require_paths:
558
559
  - lib