kingfisher/tests/int_s3.rs
2025-08-03 09:45:52 -07:00

28 lines
No EOL
749 B
Rust

use anyhow::Result;
use kingfisher::s3::visit_bucket_objects;
#[tokio::test]
async fn test_visit_public_bucket() -> Result<()> {
let mut objects = Vec::new();
visit_bucket_objects("awsglue-datasets", Some("examples/us-legislators/all/"), None, None, |key, data| {
objects.push((key, data));
Ok(())
})
.await?;
assert!(
objects.iter().any(|(k, _)| k.ends_with("events.json")),
"events.json object not found"
);
let creds = objects
.iter()
.find(|(k, _)| k.ends_with("events.json"))
.expect("events.json object");
let body = std::str::from_utf8(&creds.1)?;
assert!(
body.contains("Q4450263"),
"expected events.json file"
);
Ok(())
}