use coreos_stream_metadata::Stream;
use coreos_stream_metadata::{fcos, ContainerImage, SingleImage};
const STREAM_DATA: &[u8] = include_bytes!("fixtures/fcos-stream.json");
#[test]
fn test_basic() {
assert_eq!(
fcos::StreamID::Stable.url(),
"https://builds.coreos.fedoraproject.org/streams/stable.json"
);
let myarch = coreos_stream_metadata::this_architecture();
let st: Stream = serde_json::from_slice(STREAM_DATA).unwrap();
assert_eq!(st.stream, "stable");
let a = st.architectures.get("x86_64").unwrap();
if myarch == "x86_64" {
assert!(st.this_architecture().is_some());
assert_eq!(
st.query_thisarch_single("qemu").unwrap().sha256,
"a7e93e32665086d4a07a14dbe6c125177402f04603fc5bb575035028701afa5b"
);
}
assert_eq!(
a.artifacts
.get("metal")
.unwrap()
.formats
.get("raw.xz")
.unwrap()
.get("disk")
.unwrap()
.sha256,
"2848b111a6917455686f38a3ce64d2321c33809b9cf796c5f6804b1c02d79d9d"
);
assert_eq!(
st.query_disk("x86_64", "metal", "raw.xz").unwrap().sha256,
"2848b111a6917455686f38a3ce64d2321c33809b9cf796c5f6804b1c02d79d9d"
);
assert_eq!(
a.images
.as_ref()
.unwrap()
.aws
.as_ref()
.unwrap()
.regions
.get("us-east-1")
.unwrap(),
&SingleImage {
image: "ami-037a0ba6d14ca2e05".to_string(),
release: "33.20201201.3.0".to_string(),
}
);
assert_eq!(
a.images
.as_ref()
.unwrap()
.kubevirt
.as_ref()
.unwrap(),
&ContainerImage {
image: "quay.io/openshift-release-dev/rhcos:stable".to_string(),
digest_ref: "quay.io/openshift-release-dev/rhcos@sha256:67a81539946ec0397196c145394553b8e0241acf27b14ae9de43bc56e167f773".to_string(),
release: "33.20201201.3.0".to_string(),
}
);
assert_eq!(
a.images
.as_ref()
.unwrap()
.aliyun
.as_ref()
.unwrap()
.regions
.get("us-east-1")
.unwrap(),
&SingleImage {
image: "m-0xi29kf08acv9dps47zs".to_string(),
release: "33.20201201.3.0".to_string(),
}
);
}