dependabot-nuget 0.310.0 → 0.311.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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/helpers/lib/NuGetUpdater/Directory.Packages.props +1 -1
  3. data/helpers/lib/NuGetUpdater/DotNetPackageCorrelation.Test/DotNetPackageCorrelation.Test.csproj +1 -1
  4. data/helpers/lib/NuGetUpdater/NuGetUpdater.Cli.Test/NuGetUpdater.Cli.Test.csproj +1 -1
  5. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/ClosePullRequest.cs +13 -0
  6. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/CreatePullRequest.cs +20 -0
  7. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/Job.cs +1 -2
  8. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/JobErrorBase.cs +19 -0
  9. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/MessageBase.cs +1 -0
  10. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/ApiModel/UpdatePullRequest.cs +16 -0
  11. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/PullRequestTextGenerator.cs +49 -13
  12. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Run/RunWorker.cs +31 -6
  13. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Updater/UpdateOperationBase.cs +1 -2
  14. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/DependencyConflictResolver.cs +6 -25
  15. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core/Utilities/MSBuildHelper.cs +12 -1
  16. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Discover/DiscoveryWorkerTests.cs +2 -2
  17. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/MockNuGetPackage.cs +37 -2
  18. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/NuGetUpdater.Core.Test.csproj +1 -1
  19. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/MessageReportTests.cs +232 -0
  20. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/PullRequestTextTests.cs +32 -8
  21. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/RunWorkerTests.cs +485 -3
  22. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Run/SerializationTests.cs +4 -2
  23. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateOperationBaseTests.cs +3 -3
  24. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Update/UpdateWorkerTests.PackageReference.cs +1 -13
  25. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/LoggerTests.cs +0 -1
  26. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/MSBuildHelperTests.cs +58 -8
  27. data/helpers/lib/NuGetUpdater/NuGetUpdater.Core.Test/Utilities/PathHelperTests.cs +1 -1
  28. data/helpers/lib/NuGetUpdater/global.json +1 -1
  29. metadata +10 -9
@@ -0,0 +1,232 @@
1
+ using NuGetUpdater.Core.Run.ApiModel;
2
+
3
+ using Xunit;
4
+
5
+ namespace NuGetUpdater.Core.Test.Run;
6
+
7
+ public class MessageReportTests
8
+ {
9
+ [Fact]
10
+ public void AllMessagesAreTested()
11
+ {
12
+ var untestedTypes = typeof(MessageBase).Assembly.GetTypes()
13
+ .Where(t => t.IsSubclassOf(typeof(MessageBase)))
14
+ .Where(t => t != typeof(JobErrorBase)) // this is an abstract class and can't be directly tested
15
+ .ToHashSet();
16
+ foreach (var data in MessageBaseTestData())
17
+ {
18
+ var testedMessageType = data[0]!.GetType();
19
+ untestedTypes.Remove(testedMessageType);
20
+ }
21
+
22
+ Assert.Empty(untestedTypes.Select(t => t.Name));
23
+ }
24
+
25
+ [Theory]
26
+ [MemberData(nameof(MessageBaseTestData))]
27
+ public void MessageBase(MessageBase message, string expected)
28
+ {
29
+ var actual = message.GetReport().Replace("\r", "");
30
+ Assert.Equal(expected.Replace("\r", ""), actual);
31
+ }
32
+
33
+ public static IEnumerable<object[]> MessageBaseTestData()
34
+ {
35
+ yield return
36
+ [
37
+ // message
38
+ new BadRequirement("unparseable"),
39
+ // expected
40
+ """
41
+ Error type: illformed_requirement
42
+ - message: unparseable
43
+ """
44
+ ];
45
+
46
+ yield return
47
+ [
48
+ // message
49
+ new ClosePullRequest()
50
+ {
51
+ DependencyNames = ["Dependency1", "Dependency2"]
52
+ },
53
+ // expected
54
+ """
55
+ ClosePullRequest: up_to_date
56
+ - Dependency1
57
+ - Dependency2
58
+ """
59
+ ];
60
+
61
+ yield return
62
+ [
63
+ // message
64
+ new CreatePullRequest()
65
+ {
66
+ Dependencies = [
67
+ new()
68
+ {
69
+ Name = "Dependency1",
70
+ Version = "1.2.3",
71
+ Requirements = [], // unused
72
+ },
73
+ new()
74
+ {
75
+ Name = "Dependency2",
76
+ Version = "4.5.6",
77
+ Requirements = [], // unused
78
+ }
79
+ ],
80
+ UpdatedDependencyFiles = [], // unused
81
+ BaseCommitSha = "unused",
82
+ CommitMessage = "unused",
83
+ PrTitle = "unused",
84
+ PrBody = "unused",
85
+ },
86
+ // expected
87
+ """
88
+ CreatePullRequest
89
+ - Dependency1/1.2.3
90
+ - Dependency2/4.5.6
91
+ """
92
+ ];
93
+
94
+ yield return
95
+ [
96
+ // message
97
+ new DependencyFileNotFound("path/to/file.txt", "custom message"),
98
+ // expected
99
+ """
100
+ Error type: dependency_file_not_found
101
+ - message: custom message
102
+ - file-path: path/to/file.txt
103
+ """
104
+ ];
105
+
106
+ yield return
107
+ [
108
+ // message
109
+ new DependencyFileNotParseable("path/to/file.txt", "custom message"),
110
+ // expected
111
+ """
112
+ Error type: dependency_file_not_parseable
113
+ - message: custom message
114
+ - file-path: path/to/file.txt
115
+ """
116
+ ];
117
+
118
+ yield return
119
+ [
120
+ // message
121
+ new DependencyNotFound("Some.Dependency"),
122
+ // expected
123
+ """
124
+ Error type: dependency_not_found
125
+ - source: Some.Dependency
126
+ """
127
+ ];
128
+
129
+ yield return
130
+ [
131
+ // message
132
+ new JobRepoNotFound("custom message"),
133
+ // expected
134
+ """
135
+ Error type: job_repo_not_found
136
+ - message: custom message
137
+ """
138
+ ];
139
+
140
+ yield return
141
+ [
142
+ // message
143
+ new PrivateSourceAuthenticationFailure(["url1", "url2"]),
144
+ // expected
145
+ """
146
+ Error type: private_source_authentication_failure
147
+ - source: (url1|url2)
148
+ """
149
+ ];
150
+
151
+ yield return
152
+ [
153
+ // message
154
+ new PrivateSourceBadResponse(["url1", "url2"]),
155
+ // expected
156
+ """
157
+ Error type: private_source_bad_response
158
+ - source: (url1|url2)
159
+ """
160
+ ];
161
+
162
+ yield return
163
+ [
164
+ // message
165
+ new PullRequestExistsForLatestVersion("Some.Dependency", "1.2.3"),
166
+ // expected
167
+ """
168
+ Error type: pull_request_exists_for_latest_version
169
+ - dependency-name: Some.Dependency
170
+ - dependency-version: 1.2.3
171
+ """
172
+ ];
173
+
174
+ yield return
175
+ [
176
+ // message
177
+ new SecurityUpdateNotNeeded("Some.Dependency"),
178
+ // expected
179
+ """
180
+ Error type: security_update_not_needed
181
+ - dependency-name: Some.Dependency
182
+ """
183
+ ];
184
+
185
+ yield return
186
+ [
187
+ // message
188
+ new UnknownError(new NotImplementedException("error message"), "TEST-JOB-ID"),
189
+ // expected
190
+ """
191
+ Error type: unknown_error
192
+ - error-class: NotImplementedException
193
+ - error-message: error message
194
+ - error-backtrace: <unknown>
195
+ - package-manager: nuget
196
+ - job-id: TEST-JOB-ID
197
+ """
198
+ ];
199
+
200
+ yield return
201
+ [
202
+ // message
203
+ new UpdateNotPossible(["Dependency1", "Dependency2"]),
204
+ // expected
205
+ """
206
+ Error type: update_not_possible
207
+ - dependencies: Dependency1, Dependency2
208
+ """
209
+ ];
210
+
211
+ yield return
212
+ [
213
+ // message
214
+ new UpdatePullRequest()
215
+ {
216
+ DependencyNames = ["Dependency1", "Dependency2"],
217
+ UpdatedDependencyFiles = [], // unused
218
+ BaseCommitSha = "unused",
219
+ CommitMessage = "unused",
220
+ PrTitle = "unused",
221
+ PrBody = "unused",
222
+ DependencyGroup = "unused",
223
+ },
224
+ // expected
225
+ """
226
+ UpdatePullRequest
227
+ - Dependency1
228
+ - Dependency2
229
+ """
230
+ ];
231
+ }
232
+ }
@@ -12,6 +12,26 @@ namespace NuGetUpdater.Core.Test.Run;
12
12
 
13
13
  public class PullRequestTextTests
14
14
  {
15
+ [Fact]
16
+ public void LongPullRequestTitleIsTrimmed()
17
+ {
18
+ var job = FromCommitOptions(null);
19
+ var updateOperations = new List<UpdateOperationBase>();
20
+ for (int i = 1; i <= 10; i++)
21
+ {
22
+ updateOperations.Add(new DirectUpdate()
23
+ {
24
+ DependencyName = $"Package{i}",
25
+ NewVersion = NuGetVersion.Parse($"{i}.0.0"),
26
+ UpdatedFiles = ["file.txt"],
27
+ });
28
+ }
29
+
30
+ var actualTitle = PullRequestTextGenerator.GetPullRequestTitle(job, [.. updateOperations], dependencyGroupName: null);
31
+ var expectedTitle = "Update Package1 and 9 other dependencies";
32
+ Assert.Equal(expectedTitle, actualTitle);
33
+ }
34
+
15
35
  [Theory]
16
36
  [MemberData(nameof(GetPullRequestTextTestData))]
17
37
  public void PullRequestText(
@@ -58,7 +78,7 @@ public class PullRequestTextTests
58
78
  // expectedBody
59
79
  """
60
80
  Performed the following updates:
61
- - Updated Some.Package to 1.2.3 in a.txt
81
+ - Updated Some.Package to 1.2.3 in a.txt
62
82
  """
63
83
  ];
64
84
 
@@ -82,11 +102,11 @@ public class PullRequestTextTests
82
102
  // expectedTitle
83
103
  "[SECURITY] Update Some.Package to 1.2.3",
84
104
  // expectedCommitMessage
85
- "[SECURITY] Update Some.Package to 1.2.3",
105
+ "Update Some.Package to 1.2.3",
86
106
  // expectedBody
87
107
  """
88
108
  Performed the following updates:
89
- - Updated Some.Package to 1.2.3 in a.txt
109
+ - Updated Some.Package to 1.2.3 in a.txt
90
110
  """
91
111
  ];
92
112
 
@@ -128,14 +148,18 @@ public class PullRequestTextTests
128
148
  // expectedTitle
129
149
  "Update Package.A to 1.0.0, 2.0.0; Package.B to 3.0.0, 4.0.0",
130
150
  // expectedCommitMessage
131
- "Update Package.A to 1.0.0, 2.0.0; Package.B to 3.0.0, 4.0.0",
151
+ """
152
+ Update:
153
+ - Package.A to 1.0.0, 2.0.0
154
+ - Package.B to 3.0.0, 4.0.0
155
+ """,
132
156
  // expectedBody
133
157
  """
134
158
  Performed the following updates:
135
- - Updated Package.A to 1.0.0 in a1.txt
136
- - Updated Package.A to 2.0.0 in a2.txt
137
- - Updated Package.B to 3.0.0 in b1.txt
138
- - Updated Package.B to 4.0.0 in b2.txt
159
+ - Updated Package.A to 1.0.0 in a1.txt
160
+ - Updated Package.A to 2.0.0 in a2.txt
161
+ - Updated Package.B to 3.0.0 in b1.txt
162
+ - Updated Package.B to 4.0.0 in b2.txt
139
163
  """
140
164
  ];
141
165
  }