summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJesper Jensen <jesper@jnsn.dev>2026-02-08 18:34:10 +0100
committerJesper Jensen <jesper@jnsn.dev>2026-02-08 18:34:10 +0100
commitb12254e3bc034faed6c917d12cd33399022ed10c (patch)
tree8be31ee5c6bc26921ddaa5461ab42649dfb062d4 /src
parentda8194ed935e3c7ebeaa93c645db9dc1db4713a6 (diff)
Take the registry tags at construction time
Diffstat (limited to 'src')
-rw-r--r--src/db.rs3
-rw-r--r--src/registry.rs98
-rw-r--r--src/updater.rs131
3 files changed, 102 insertions, 130 deletions
diff --git a/src/db.rs b/src/db.rs
index fc00621..469a279 100644
--- a/src/db.rs
+++ b/src/db.rs
@@ -11,8 +11,9 @@ pub struct Image {
}
pub trait Db {
- fn get_image(&self, registry: &str, image: &str) -> Option<Image>;
fn insert_image(&self, image: &mut Image);
+
+ fn get_image(&self, registry: &str, image: &str) -> Option<Image>;
fn get_expired_images(&self, now: &DateTime<Utc>) -> Vec<Image>;
fn get_tags_sorted(&self, image_id: i64) -> Vec<String>;
fn delete_tag(&self, image_id: i64, tag: &str);
diff --git a/src/registry.rs b/src/registry.rs
index 173f8a7..c1ab4b7 100644
--- a/src/registry.rs
+++ b/src/registry.rs
@@ -324,11 +324,11 @@ impl Registries for HttpRegistry {
}
#[cfg(test)]
-struct StubTag {
- registry: String,
- image: String,
- tag: String,
- digest: String,
+pub struct StubTag {
+ pub registry: String,
+ pub image: String,
+ pub tag: String,
+ pub digest: String,
}
#[cfg(test)]
@@ -338,25 +338,13 @@ pub struct StubRegistry {
}
#[cfg(test)]
-impl Default for StubRegistry {
- fn default() -> Self {
+impl StubRegistry {
+ pub fn new(tags: Vec<StubTag>) -> Self {
return StubRegistry {
- entries: RefCell::new(vec![]),
+ entries: RefCell::new(tags),
tags_calls: RefCell::new(HashMap::new()),
};
}
-}
-
-#[cfg(test)]
-impl StubRegistry {
- pub fn add_tag(&self, registry: &str, image: &str, tag: &str, digest: &str) {
- self.entries.borrow_mut().push(StubTag {
- registry: registry.to_string(),
- image: image.to_string(),
- tag: tag.to_string(),
- digest: digest.to_string(),
- });
- }
pub fn set_digest(&self, registry: &str, image: &str, tag: &str, digest: &str) {
for entry in self.entries.borrow_mut().iter_mut() {
@@ -410,65 +398,47 @@ impl Registries for StubRegistry {
mod tests {
use super::*;
- fn test_get_tags_returns_none_for_unknown(reg: &dyn Registries) {
- assert_eq!(reg.get_tags("docker.io", "unknown"), None);
+ #[test]
+ fn get_tags_returns_none_for_unknown() {
+ let stub = StubRegistry::new(vec![]);
+ assert_eq!(stub.get_tags("docker.io", "unknown"), None);
}
- fn test_get_tags_returns_all(reg: &dyn Registries, stub: &StubRegistry) {
- stub.add_tag("docker.io", "nginx", "1.21", "sha256:abc");
- stub.add_tag("docker.io", "nginx", "1.20", "sha256:def");
- stub.add_tag("docker.io", "nginx", "latest", "sha256:ghi");
- let mut tags = reg.get_tags("docker.io", "nginx").unwrap();
+ #[test]
+ fn get_tags_returns_all() {
+ let stub = StubRegistry::new(vec![
+ StubTag { registry: "docker.io".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:abc".into() },
+ StubTag { registry: "docker.io".into(), image: "nginx".into(), tag: "1.20".into(), digest: "sha256:def".into() },
+ StubTag { registry: "docker.io".into(), image: "nginx".into(), tag: "latest".into(), digest: "sha256:ghi".into() },
+ ]);
+ let mut tags = stub.get_tags("docker.io", "nginx").unwrap();
tags.sort();
assert_eq!(tags, vec!["1.20", "1.21", "latest"]);
}
- fn test_get_digest_returns_none_for_unknown(reg: &dyn Registries) {
- assert_eq!(reg.get_digest("docker.io", "nginx", "1.21"), None);
- }
-
- fn test_get_digest_returns_digest(reg: &dyn Registries, stub: &StubRegistry) {
- stub.add_tag("docker.io", "nginx", "1.21", "sha256:abc123");
-
- assert_eq!(reg.get_digest("docker.io", "nginx", "1.21"), Some("sha256:abc123".to_string()));
- }
-
- fn test_set_digest_updates_existing(reg: &dyn Registries, stub: &StubRegistry) {
- stub.add_tag("docker.io", "nginx", "1.21", "sha256:old");
- stub.set_digest("docker.io", "nginx", "1.21", "sha256:new");
-
- assert_eq!(reg.get_digest("docker.io", "nginx", "1.21"), Some("sha256:new".to_string()));
- }
-
#[test]
- fn conformance_stub_get_tags_unknown() {
- let stub = StubRegistry::default();
- test_get_tags_returns_none_for_unknown(&stub);
+ fn get_digest_returns_none_for_unknown() {
+ let stub = StubRegistry::new(vec![]);
+ assert_eq!(stub.get_digest("docker.io", "nginx", "1.21"), None);
}
#[test]
- fn conformance_stub_get_tags_all() {
- let stub = StubRegistry::default();
- test_get_tags_returns_all(&stub, &stub);
+ fn get_digest_returns_digest() {
+ let stub = StubRegistry::new(vec![
+ StubTag { registry: "docker.io".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:abc123".into() },
+ ]);
+ assert_eq!(stub.get_digest("docker.io", "nginx", "1.21"), Some("sha256:abc123".to_string()));
}
#[test]
- fn conformance_stub_get_digest_unknown() {
- let stub = StubRegistry::default();
- test_get_digest_returns_none_for_unknown(&stub);
- }
-
- #[test]
- fn conformance_stub_get_digest() {
- let stub = StubRegistry::default();
- test_get_digest_returns_digest(&stub, &stub);
- }
+ fn set_digest_updates_existing() {
+ let stub = StubRegistry::new(vec![
+ StubTag { registry: "docker.io".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:old".into() },
+ ]);
+ stub.set_digest("docker.io", "nginx", "1.21", "sha256:new");
- #[test]
- fn conformance_stub_set_digest() {
- let stub = StubRegistry::default();
- test_set_digest_updates_existing(&stub, &stub);
+ assert_eq!(stub.get_digest("docker.io", "nginx", "1.21"), Some("sha256:new".to_string()));
}
#[cfg(feature = "integration")]
diff --git a/src/updater.rs b/src/updater.rs
index 1aba08f..a828e57 100644
--- a/src/updater.rs
+++ b/src/updater.rs
@@ -205,7 +205,7 @@ pub fn update_images(now: &DateTime<Utc>, db: &dyn Db, reg: &dyn Registries, fil
mod tests {
use super::*;
use crate::db::StubDb;
- use crate::registry::StubRegistry;
+ use crate::registry::{StubRegistry, StubTag};
use chrono::TimeZone;
#[test]
@@ -213,15 +213,16 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let past_expiry = now - chrono::Duration::days(1);
let mut img = Image { id: 0, registry: "registry.hub.docker.com".into(), image: "nginx".into(), expires_at: past_expiry };
db.insert_image(&mut img);
db.insert_tag(img.id, "1.20", &past_expiry);
db.insert_tag(img.id, "1.21", &past_expiry);
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
let files = vec![FileInput {
path: "/test".into(),
@@ -241,7 +242,7 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
+ let reg = StubRegistry::new(vec![]);
let future_expiry = now + chrono::Duration::minutes(30);
let mut img = Image { id: 0, registry: "registry.hub.docker.com".into(), image: "nginx".into(), expires_at: future_expiry };
@@ -264,9 +265,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -284,10 +285,10 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -305,11 +306,11 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.25", "sha256:0000000000000000000000000000000000000000000000000000000000000003");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.25".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000003".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -327,9 +328,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "latest", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "latest".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -349,7 +350,7 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
+ let reg = StubRegistry::new(vec![]);
let future_expiry = now + chrono::Duration::minutes(30);
let mut img = Image { id: 0, registry: "registry.hub.docker.com".into(), image: "nginx".into(), expires_at: future_expiry };
@@ -375,9 +376,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000004");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000004".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -397,9 +398,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -417,9 +418,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -439,10 +440,10 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -463,7 +464,7 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
+ let reg = StubRegistry::new(vec![]);
let files = vec![FileInput {
path: "/test".into(),
@@ -484,9 +485,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -504,12 +505,12 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
- reg.add_tag("registry.hub.docker.com", "redis", "6.0", "sha256:0000000000000000000000000000000000000000000000000000000000000003");
- reg.add_tag("registry.hub.docker.com", "redis", "6.2", "sha256:0000000000000000000000000000000000000000000000000000000000000004");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.0".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000003".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.2".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000004".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -528,12 +529,12 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
- reg.add_tag("registry.hub.docker.com", "redis", "6.0", "sha256:0000000000000000000000000000000000000000000000000000000000000003");
- reg.add_tag("registry.hub.docker.com", "redis", "6.2", "sha256:0000000000000000000000000000000000000000000000000000000000000004");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.0".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000003".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.2".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000004".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -552,10 +553,10 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![
FileInput {
@@ -582,7 +583,9 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000005".into() },
+ ]);
let past_expiry = now - chrono::Duration::days(1);
let mut img = Image { id: 0, registry: "registry.hub.docker.com".into(), image: "nginx".into(), expires_at: past_expiry };
@@ -590,8 +593,6 @@ mod tests {
db.insert_tag(img.id, "1.21", &past_expiry);
db.update_tag_digest(img.id, "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000003", &past_expiry);
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000005");
-
let files = vec![FileInput {
path: "/test".into(),
content: "image: nginx:1.21@sha256:0000000000000000000000000000000000000000000000000000000000000001".into(),
@@ -609,10 +610,10 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "redis", "6.0", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "redis", "6.2", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.0".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "redis".into(), tag: "6.2".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![FileInput {
path: "/test".into(),
@@ -633,10 +634,10 @@ mod tests {
crate::metrics::init();
let now = Utc.with_ymd_and_hms(2000, 1, 1, 0, 0, 0).unwrap();
let db = StubDb::default();
- let reg = StubRegistry::default();
-
- reg.add_tag("registry.hub.docker.com", "nginx", "1.21", "sha256:0000000000000000000000000000000000000000000000000000000000000001");
- reg.add_tag("registry.hub.docker.com", "nginx", "1.22", "sha256:0000000000000000000000000000000000000000000000000000000000000002");
+ let reg = StubRegistry::new(vec![
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.21".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000001".into() },
+ StubTag { registry: "registry.hub.docker.com".into(), image: "nginx".into(), tag: "1.22".into(), digest: "sha256:0000000000000000000000000000000000000000000000000000000000000002".into() },
+ ]);
let files = vec![
FileInput { path: "/a".into(), content: "image: nginx:1.21".into(), images: vec![7..17] },