1
1
package org .scalasteward .core .application
2
2
3
3
import better .files .File
4
+ import cats .data .Validated
4
5
import cats .data .Validated .Valid
5
6
import munit .FunSuite
6
7
import org .http4s .syntax .literals ._
@@ -171,7 +172,7 @@ class CliTest extends FunSuite {
171
172
val params = minimumRequiredParams ++ List (
172
173
List (" --gitlab-merge-when-pipeline-succeeds" ),
173
174
List (" --gitlab-remove-source-branch" ),
174
- List (" --merge-request-level-approval-rule" , " All eligible users: 0" )
175
+ List (" --merge-request-level-approval-rule" , " All eligible users= 0" )
175
176
)
176
177
val Success (StewardUsage .Regular (obtained)) = Cli .parseArgs(params.flatten)
177
178
@@ -185,8 +186,8 @@ class CliTest extends FunSuite {
185
186
186
187
test(" parseArgs: multiple Gitlab merge request level approval rule" ) {
187
188
val params = minimumRequiredParams ++ List (
188
- List (" --merge-request-level-approval-rule" , " All eligible users: 1" ),
189
- List (" --merge-request-level-approval-rule" , " Only Main: 2" )
189
+ List (" --merge-request-level-approval-rule" , " All eligible users= 1" ),
190
+ List (" --merge-request-level-approval-rule" , " Only Main= 2" )
190
191
)
191
192
val Success (StewardUsage .Regular (obtained)) = Cli .parseArgs(params.flatten)
192
193
@@ -205,7 +206,7 @@ class CliTest extends FunSuite {
205
206
206
207
test(" parseArgs: only allow one way to define Gitlab required approvals arguments" ) {
207
208
val params = minimumRequiredParams ++ List (
208
- List (" --merge-request-level-approval-rule" , " All eligible users: 0" ),
209
+ List (" --merge-request-level-approval-rule" , " All eligible users= 0" ),
209
210
List (" --gitlab-required-reviewers" , " 5" )
210
211
)
211
212
val Error (errorMsg) = Cli .parseArgs(params.flatten)
@@ -229,7 +230,7 @@ class CliTest extends FunSuite {
229
230
230
231
test(" parseArgs: invalid GitLab merge request level approval rule" ) {
231
232
val params = minimumRequiredParams ++ List (
232
- List (" --merge-request-level-approval-rule" , " All eligible users: -3" )
233
+ List (" --merge-request-level-approval-rule" , " All eligible users= -3" )
233
234
)
234
235
val Error (errorMsg) = Cli .parseArgs(params.flatten)
235
236
@@ -304,4 +305,21 @@ class CliTest extends FunSuite {
304
305
)
305
306
assert(error.startsWith(" Missing value for option: --azure-repos-organization" ))
306
307
}
308
+
309
+ test(" mergeRequestApprovalsConfigArgument: without equals sign" ) {
310
+ assertEquals(
311
+ Cli .mergeRequestApprovalsCfgArgument.read(" only-main" ),
312
+ Validated .invalidNel(
313
+ s " The value is expected in the following format: APPROVALS_RULE_NAME=REQUIRED_APPROVALS "
314
+ )
315
+ )
316
+ }
317
+
318
+ test(" mergeRequestApprovalsConfigArgument: non-integer required approvals" ) {
319
+ val nonIntegerRequiredApprovals = " two"
320
+ assertEquals(
321
+ Cli .mergeRequestApprovalsCfgArgument.read(s " only-main= $nonIntegerRequiredApprovals" ),
322
+ Validated .invalidNel(s " [ $nonIntegerRequiredApprovals] is not a valid Integer " )
323
+ )
324
+ }
307
325
}
0 commit comments