(&self)
| 457 | } |
| 458 | |
| 459 | fn derive_status(&self) -> VerificationStatus { |
| 460 | if self |
| 461 | .checks |
| 462 | .iter() |
| 463 | .any(|check| check.status == VerificationStatus::Failed) |
| 464 | { |
| 465 | return VerificationStatus::Failed; |
| 466 | } |
| 467 | |
| 468 | if self.checks.iter().any(|check| { |
| 469 | check.required |
| 470 | && matches!( |
| 471 | check.status, |
| 472 | VerificationStatus::NeedsReview | VerificationStatus::Skipped |
| 473 | ) |
| 474 | }) { |
| 475 | return VerificationStatus::NeedsReview; |
| 476 | } |
| 477 | |
| 478 | if !self.residual_risks.is_empty() { |
| 479 | return VerificationStatus::NeedsReview; |
| 480 | } |
| 481 | |
| 482 | if self.checks.is_empty() { |
| 483 | VerificationStatus::Skipped |
| 484 | } else { |
| 485 | VerificationStatus::Passed |
| 486 | } |
| 487 | } |
| 488 | } |
| 489 | |
| 490 | fn artifact_uris(metadata: Option<&serde_json::Value>) -> Vec<String> { |
no test coverage detected