Skip to content

Commit ffc2b3f

Browse files
committed
Fix cyclic dependency issue in test
Signed-off-by: Aminu Oluwaseun Joshua <seun.aminujoshua@gmail.com>
1 parent 80238be commit ffc2b3f

File tree

5 files changed

+40
-39
lines changed

5 files changed

+40
-39
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

crates/app/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,4 @@ thiserror = { workspace = true }
1414

1515
[dev-dependencies]
1616
toml = { workspace = true }
17-
spin-factors-test = { path = "../factors-test" }
1817
tokio = { workspace = true }

crates/app/src/lib.rs

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -341,40 +341,3 @@ pub fn retain_components(
341341
) -> Result<LockedApp> {
342342
App::new("unused", locked).retain_components(components, validators)
343343
}
344-
345-
#[cfg(test)]
346-
mod test {
347-
// TODO Joshua: Fix error issue
348-
// use spin_factors_test::build_locked_app;
349-
350-
// use super::*;
351-
352-
// fn does_nothing_validator(_: &App, _: &[&str]) -> anyhow::Result<()> {
353-
// Ok(())
354-
// }
355-
356-
// #[tokio::test]
357-
// async fn test_retain_components_filtering_for_only_component_works() {
358-
// let manifest = toml::toml! {
359-
// spin_manifest_version = 2
360-
361-
// [application]
362-
// name = "test-app"
363-
364-
// [[trigger.test-trigger]]
365-
// component = "empty"
366-
367-
// [component.empty]
368-
// source = "does-not-exist.wasm"
369-
// };
370-
// let mut locked_app = build_locked_app(&manifest).await.unwrap();
371-
// locked_app = retain_components(locked_app, &["empty"], &[&does_nothing_validator]).unwrap();
372-
// let components = locked_app
373-
// .components
374-
// .iter()
375-
// .map(|c| c.id.to_string())
376-
// .collect::<HashSet<_>>();
377-
// assert!(components.contains("empty"));
378-
// assert!(components.len() == 1);
379-
// }
380-
}

crates/factors-test/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ spin-loader = { path = "../loader" }
1111
spin-telemetry = { path = "../telemetry", features = ["testing"] }
1212
tempfile = { workspace = true }
1313
toml = { workspace = true }
14+
tokio = { workspace = true }
1415

1516
[lints]
1617
workspace = true

crates/factors-test/src/lib.rs

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,3 +104,41 @@ pub async fn build_locked_app(manifest: &toml::Table) -> anyhow::Result<LockedAp
104104
std::fs::write(&path, toml_str).context("failed writing manifest")?;
105105
spin_loader::from_file(&path, FilesMountStrategy::Direct, None).await
106106
}
107+
108+
#[cfg(test)]
109+
mod test {
110+
use std::collections::HashSet;
111+
112+
use spin_app::retain_components;
113+
114+
use super::*;
115+
116+
fn does_nothing_validator(_: &App, _: &[&str]) -> anyhow::Result<()> {
117+
Ok(())
118+
}
119+
120+
#[tokio::test]
121+
async fn test_retain_components_filtering_for_only_component_works() {
122+
let manifest = toml::toml! {
123+
spin_manifest_version = 2
124+
125+
[application]
126+
name = "test-app"
127+
128+
[[trigger.test-trigger]]
129+
component = "empty"
130+
131+
[component.empty]
132+
source = "does-not-exist.wasm"
133+
};
134+
let mut locked_app = build_locked_app(&manifest).await.unwrap();
135+
locked_app = retain_components(locked_app, &["empty"], &[&does_nothing_validator]).unwrap();
136+
let components = locked_app
137+
.components
138+
.iter()
139+
.map(|c| c.id.to_string())
140+
.collect::<HashSet<_>>();
141+
assert!(components.contains("empty"));
142+
assert!(components.len() == 1);
143+
}
144+
}

0 commit comments

Comments
 (0)