#[allow(clippy::all, clippy::pedantic, missing_docs, rustdoc::all)]
mod generated {
include!(concat!(env!("OUT_DIR"), "/mod.rs"));
}
pub use generated::google;
pub mod ordered;
pub const FILE_DESCRIPTOR_SET: &[u8] =
include_bytes!(concat!(env!("OUT_DIR"), "/hidane_descriptor.bin"));
pub const ORDERED_FILE_DESCRIPTOR_SET: &[u8] =
include_bytes!(concat!(env!("OUT_DIR"), "/hidane_descriptor_ordered.bin"));
#[cfg(test)]
mod tests {
use prost::Message as _;
use crate::google::datastore::v1::{Entity, Key, key::PathElement, key::path_element::IdType};
#[test]
fn datastore_messages_round_trip() {
let entity = Entity {
key: Some(Key {
partition_id: None,
path: vec![PathElement {
kind: "Task".into(),
id_type: Some(IdType::Name("a".into())),
}],
}),
properties: Default::default(),
};
let bytes = entity.encode_to_vec();
assert_eq!(Entity::decode(bytes.as_slice()).unwrap(), entity);
}
#[test]
fn the_descriptor_set_holds_both_apis() {
let set = prost_types::FileDescriptorSet::decode(crate::FILE_DESCRIPTOR_SET).unwrap();
assert!(
set.file
.iter()
.any(|f| f.package() == "google.datastore.v1")
);
assert!(
set.file
.iter()
.any(|f| f.package() == "google.firestore.v1")
);
}
}