Compare commits

..

2 Commits

Author SHA1 Message Date
Thomas Eppers
cb78c58de1 fixed repo tests 2021-10-17 00:17:40 +02:00
Thomas Eppers
0edfd45d38 changed formatting of output of image details 2021-10-17 00:12:31 +02:00
2 changed files with 16 additions and 14 deletions

View File

@ -102,7 +102,6 @@ pub fn split_repo_without_tag(repo: &str) -> Result<Repo, Error> {
#[cfg(test)]
mod tests {
use crate::repo;
use crate::repo::{Error, Repo};
#[test]
@ -128,23 +127,23 @@ mod tests {
#[test]
fn test_match_yaml_image() {
use crate::repo::match_yaml_image as test_fn;
assert_eq!(test_fn(""), None);
assert_eq!(test_fn("version: '2'"), None);
assert_eq!(test_fn("image: "), None);
assert_eq!(test_fn(" image: "), None);
assert_eq!(test_fn(" image: nginx"), Some((" image: ", "nginx")));
assert_eq!(test_fn(""), Err(Error::NoTagFound));
assert_eq!(test_fn("version: '2'"), Err(Error::NoTagFound));
assert_eq!(test_fn("image: "), Err(Error::NoTagFound));
assert_eq!(test_fn(" image: "), Err(Error::NoTagFound));
assert_eq!(test_fn(" image: nginx"), Ok((" image: ", "nginx")));
assert_eq!(
test_fn(" image: library/nginx"),
Some((" image: ", "library/nginx"))
Ok((" image: ", "library/nginx"))
);
assert_eq!(
test_fn(" image: ghcr.io/library/nginx"),
Some((" image: ", "ghcr.io/library/nginx"))
Ok((" image: ", "ghcr.io/library/nginx"))
);
assert_eq!(test_fn("# image: nginx"), None);
assert_eq!(test_fn("# image: nginx"), Err(Error::NoTagFound));
assert_eq!(
test_fn(" image: nginx #comment"),
Some((" image: ", "nginx"))
Ok((" image: ", "nginx"))
);
}

View File

@ -13,7 +13,7 @@ struct ImageDetails {
impl fmt::Display for ImageDetails {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "[{}, {}MB]", self.architecture, self.size / 1024 / 1024)
write!(f, "{}|{}MB", self.architecture, self.size / 1024 / 1024)
}
}
@ -122,16 +122,19 @@ impl fmt::Display for Images {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
//architecture infos
let mut arch = String::new();
for image in &self.images {
for image in self.images.iter().take(1) {
arch.push_str(&format!("{}", image));
}
for image in self.images.iter().skip(1) {
arch.push_str(&format!(", {}", image));
}
let now = chrono::Utc::now();
let rfc3339 = DateTime::parse_from_rfc3339(&self.last_updated).unwrap();
let dif = now - rfc3339.with_timezone(&chrono::Utc);
write!(
f,
"{} vor {} {}",
"{} vor {} [{}]",
self.tag_name,
format_time_nice(dif),
arch
@ -164,7 +167,7 @@ fn format_time_nice(time: chrono::Duration) -> String {
#[cfg(test)]
mod tests {
use crate::tags::{Error, Tags};
use crate::tags::Tags;
#[test]
fn test_check_repo() {
assert_eq!(Tags::check_repo("nginx").unwrap(), "library/nginx");