diff --git a/Cargo.toml b/Cargo.toml
index 46707d2..3c58d05 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -25,7 +25,7 @@ tokio = { version = "1.43.0", optional = true, default-features = false, feature
weezl = "0.1.0"
[dev-dependencies]
-object_store = "0.12"
+object_store = { version = "0.12", features = ["http"] }
tiff = "0.9.1"
tokio = { version = "1.9", features = [
"macros",
diff --git a/tests/ome_tiff.rs b/tests/ome_tiff.rs
new file mode 100644
index 0000000..4e332ab
--- /dev/null
+++ b/tests/ome_tiff.rs
@@ -0,0 +1,21 @@
+/// Integration tests on OME-TIFF files.
+use async_tiff::tiff::tags::PhotometricInterpretation;
+
+mod util;
+
+#[tokio::test]
+async fn test_ome_tiff_single_channel() {
+ let tiff =
+ util::open_remote_tiff("https://downloads.openmicroscopy.org/images/OME-TIFF/2016-06/bioformats-artificial/single-channel.ome.tif").await;
+
+ assert_eq!(tiff.ifds().len(), 1);
+ let ifd = &tiff.ifds()[0];
+
+ assert_eq!(
+ ifd.photometric_interpretation(),
+ PhotometricInterpretation::BlackIsZero
+ );
+ assert_eq!(ifd.image_description(), Some("urn:uuid:2bc2aa39-30d2-44ee-8399-c513492dd5de"));
+
+ assert!(ifd.bits_per_sample().iter().all(|x| *x == 8));
+}
diff --git a/tests/util/mod.rs b/tests/util/mod.rs
new file mode 100644
index 0000000..8b3fa07
--- /dev/null
+++ b/tests/util/mod.rs
@@ -0,0 +1,24 @@
+use std::sync::Arc;
+
+use async_tiff::metadata::{PrefetchBuffer, TiffMetadataReader};
+use async_tiff::reader::{AsyncFileReader, ObjectReader};
+use async_tiff::TIFF;
+use reqwest::Url;
+
+pub(crate) async fn open_remote_tiff(url: &str) -> TIFF {
+ let parsed_url = Url::parse(url).expect("failed parsing url");
+ let (store, path) = object_store::parse_url(&parsed_url).unwrap();
+
+ let reader = Arc::new(ObjectReader::new(Arc::new(store), path)) as Arc;
+ let prefetch_reader = PrefetchBuffer::new(reader.clone(), 32 * 1024)
+ .await
+ .unwrap();
+ let mut metadata_reader = TiffMetadataReader::try_open(&prefetch_reader)
+ .await
+ .unwrap();
+ let ifds = metadata_reader
+ .read_all_ifds(&prefetch_reader)
+ .await
+ .unwrap();
+ TIFF::new(ifds)
+}