64 lines
1.7 KiB
Rust
64 lines
1.7 KiB
Rust
// SPDX-FileCopyrightText: 2023 Aravinth Manivannan <realaravinth@batsense.net>
|
|
//
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
use std::collections::HashMap;
|
|
|
|
use semver::Version;
|
|
use serde::{Deserialize, Serialize};
|
|
use url::Url;
|
|
|
|
use crate::complaince::suite::Suite;
|
|
use crate::docker::Log;
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableInitResult {
|
|
pub success: bool,
|
|
pub exit_code: isize,
|
|
pub container: ArchivableContainer,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableTestResult {
|
|
pub success: bool,
|
|
// sent by the app
|
|
pub logs: String,
|
|
pub container: ArchivableContainer,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableContainer {
|
|
pub logs: Log,
|
|
pub name: String,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableTest {
|
|
pub name: String,
|
|
pub url: Url,
|
|
pub version: Version,
|
|
// URL to the container image, the version should be the tag
|
|
pub container: String,
|
|
pub env_vars: Option<HashMap<String, String>>,
|
|
pub result: ArchivableTestResult,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableSuiteResult {
|
|
pub suite: Suite,
|
|
pub tests: Vec<ArchivableTest>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct ArchivableResult {
|
|
pub commit: String,
|
|
pub suites: Vec<ArchivableSuiteResult>,
|
|
pub init_containers: Option<Vec<ArchivableInitResult>>,
|
|
pub specimen_logs: Vec<ArchivableContainer>,
|
|
}
|
|
|
|
#[derive(Clone, Debug, Eq, PartialEq, Deserialize, Serialize)]
|
|
pub struct LatestFile {
|
|
pub latest: String,
|
|
}
|