fix: reject unknown profile archive selectors

This commit is contained in:
2026-07-08 19:21:52 +09:00
parent a823d414d0
commit a2833dadca
10 changed files with 189 additions and 81 deletions
+11 -1
View File
@@ -323,7 +323,6 @@ impl VerifiedProfileSourceArchive {
.manifest
.entrypoints
.get(selector)
.or_else(|| self.manifest.entrypoints.get("default"))
.ok_or_else(|| ProfileArchiveError::MissingEntrypoint(selector.to_string()))?;
let mut engine = Engine::new(ArchiveSourceLoader { archive: self });
let source = self
@@ -534,6 +533,17 @@ mod tests {
assert_eq!(manifest.worker.name, "archive-worker");
}
#[test]
fn unknown_selector_does_not_fallback_to_default() {
let archive = sample_archive();
let verified = archive.verify().unwrap();
let root = tempfile::tempdir().unwrap();
assert!(matches!(
verified.resolve_profile("missing", root.path(), "archive-worker"),
Err(ProfileArchiveError::MissingEntrypoint(selector)) if selector == "missing"
));
}
#[test]
fn archive_loader_rejects_undeclared_import() {
let archive = sample_archive();