@@ -92,7 +92,8 @@ fn set_up() -> (MockRequest, Crate, BadgeRef) {
92
92
String :: from ( "rust-lang/rust" )
93
93
) ;
94
94
95
- let codecov = Badge :: CodeCov {
95
+ let codecov = Badge :: Codecov {
96
+ service : Some ( String :: from ( "github" ) ) ,
96
97
branch : Some ( String :: from ( "beta" ) ) ,
97
98
repository : String :: from ( "rust-lang/rust" ) ,
98
99
} ;
@@ -105,8 +106,13 @@ fn set_up() -> (MockRequest, Crate, BadgeRef) {
105
106
String :: from ( "repository" ) ,
106
107
String :: from ( "rust-lang/rust" )
107
108
) ;
109
+ badge_attributes_codecov. insert (
110
+ String :: from ( "service" ) ,
111
+ String :: from ( "github" )
112
+ ) ;
108
113
109
114
let coveralls = Badge :: Coveralls {
115
+ service : Some ( String :: from ( "github" ) ) ,
110
116
branch : Some ( String :: from ( "beta" ) ) ,
111
117
repository : String :: from ( "rust-lang/rust" ) ,
112
118
} ;
@@ -119,6 +125,10 @@ fn set_up() -> (MockRequest, Crate, BadgeRef) {
119
125
String :: from ( "repository" ) ,
120
126
String :: from ( "rust-lang/rust" )
121
127
) ;
128
+ badge_attributes_coveralls. insert (
129
+ String :: from ( "service" ) ,
130
+ String :: from ( "github" )
131
+ ) ;
122
132
123
133
let badges = BadgeRef {
124
134
appveyor : appveyor,
@@ -406,6 +416,86 @@ fn gitlab_required_keys() {
406
416
assert_eq ! ( krate. badges( req. tx( ) . unwrap( ) ) . unwrap( ) , vec![ ] ) ;
407
417
}
408
418
419
+ #[ test]
420
+ fn isitmaintained_issue_resolution_required_keys ( ) {
421
+ // Add a isitmaintained_issue_resolution badge missing a required field
422
+ let ( req, krate, mut test_badges) = set_up ( ) ;
423
+
424
+ let mut badges = HashMap :: new ( ) ;
425
+
426
+ // Repository is a required key
427
+ test_badges. isitmaintained_issue_resolution_attributes . remove ( "repository" ) ;
428
+ badges. insert (
429
+ String :: from ( "isitmaintained_issue_resolution" ) ,
430
+ test_badges. isitmaintained_issue_resolution_attributes
431
+ ) ;
432
+
433
+ let invalid_badges = Badge :: update_crate_old ( req. tx ( ) . unwrap ( ) , & krate, badges) . unwrap ( ) ;
434
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
435
+ assert ! ( invalid_badges. contains( & String :: from( "isitmaintained_issue_resolution" ) ) ) ;
436
+ assert_eq ! ( krate. badges( req. tx( ) . unwrap( ) ) . unwrap( ) , vec![ ] ) ;
437
+ }
438
+
439
+ #[ test]
440
+ fn isitmaintained_open_issues_required_keys ( ) {
441
+ // Add a isitmaintained_open_issues badge missing a required field
442
+ let ( req, krate, mut test_badges) = set_up ( ) ;
443
+
444
+ let mut badges = HashMap :: new ( ) ;
445
+
446
+ // Repository is a required key
447
+ test_badges. isitmaintained_open_issues_attributes . remove ( "repository" ) ;
448
+ badges. insert (
449
+ String :: from ( "isitmaintained_open_issues" ) ,
450
+ test_badges. isitmaintained_open_issues_attributes
451
+ ) ;
452
+
453
+ let invalid_badges = Badge :: update_crate_old ( req. tx ( ) . unwrap ( ) , & krate, badges) . unwrap ( ) ;
454
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
455
+ assert ! ( invalid_badges. contains( & String :: from( "isitmaintained_open_issues" ) ) ) ;
456
+ assert_eq ! ( krate. badges( req. tx( ) . unwrap( ) ) . unwrap( ) , vec![ ] ) ;
457
+ }
458
+
459
+ #[ test]
460
+ fn codecov_required_keys ( ) {
461
+ // Add a codecov badge missing a required field
462
+ let ( req, krate, mut test_badges) = set_up ( ) ;
463
+
464
+ let mut badges = HashMap :: new ( ) ;
465
+
466
+ // Repository is a required key
467
+ test_badges. codecov_attributes . remove ( "repository" ) ;
468
+ badges. insert (
469
+ String :: from ( "codecov" ) ,
470
+ test_badges. codecov_attributes
471
+ ) ;
472
+
473
+ let invalid_badges = Badge :: update_crate_old ( req. tx ( ) . unwrap ( ) , & krate, badges) . unwrap ( ) ;
474
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
475
+ assert ! ( invalid_badges. contains( & String :: from( "codecov" ) ) ) ;
476
+ assert_eq ! ( krate. badges( req. tx( ) . unwrap( ) ) . unwrap( ) , vec![ ] ) ;
477
+ }
478
+
479
+ #[ test]
480
+ fn coveralls_required_keys ( ) {
481
+ // Add a coveralls badge missing a required field
482
+ let ( req, krate, mut test_badges) = set_up ( ) ;
483
+
484
+ let mut badges = HashMap :: new ( ) ;
485
+
486
+ // Repository is a required key
487
+ test_badges. coveralls_attributes . remove ( "repository" ) ;
488
+ badges. insert (
489
+ String :: from ( "coveralls" ) ,
490
+ test_badges. coveralls_attributes
491
+ ) ;
492
+
493
+ let invalid_badges = Badge :: update_crate_old ( req. tx ( ) . unwrap ( ) , & krate, badges) . unwrap ( ) ;
494
+ assert_eq ! ( invalid_badges. len( ) , 1 ) ;
495
+ assert ! ( invalid_badges. contains( & String :: from( "coveralls" ) ) ) ;
496
+ assert_eq ! ( krate. badges( req. tx( ) . unwrap( ) ) . unwrap( ) , vec![ ] ) ;
497
+ }
498
+
409
499
#[ test]
410
500
fn unknown_badge ( ) {
411
501
// Add an unknown badge
0 commit comments