sdk-rust/tests/test_data/v10.rs

202 lines
5.8 KiB
Rust

use super::*;
use cloudevents::{Event, EventBuilder, EventBuilderV10};
use serde_json::{json, Value};
use url::Url;
pub fn minimal() -> Event {
EventBuilderV10::new()
.id(id())
.source(source())
.ty(ty())
.build()
.unwrap()
}
pub fn minimal_json() -> Value {
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
})
}
pub fn full_no_data() -> Event {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
EventBuilderV10::new()
.id(id())
.source(source())
.ty(ty())
.subject(subject())
.time(time())
.extension(&string_ext_name, string_ext_value)
.extension(&bool_ext_name, bool_ext_value)
.extension(&int_ext_name, int_ext_value)
.build()
.unwrap()
}
pub fn full_no_data_json() -> Value {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
"subject": subject(),
"time": time(),
string_ext_name: string_ext_value,
bool_ext_name: bool_ext_value,
int_ext_name: int_ext_value
})
}
pub fn full_json_data() -> Event {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
EventBuilderV10::new()
.id(id())
.source(source())
.ty(ty())
.subject(subject())
.time(time())
.extension(&string_ext_name, string_ext_value)
.extension(&bool_ext_name, bool_ext_value)
.extension(&int_ext_name, int_ext_value)
.data_with_schema(
json_datacontenttype(),
Url::parse(dataschema().as_ref()).unwrap(),
json_data(),
)
.build()
.unwrap()
}
pub fn full_json_data_json() -> Value {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
"subject": subject(),
"time": time(),
string_ext_name: string_ext_value,
bool_ext_name: bool_ext_value,
int_ext_name: int_ext_value,
"datacontenttype": json_datacontenttype(),
"dataschema": dataschema(),
"data": json_data()
})
}
pub fn full_json_base64_data_json() -> Value {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
"subject": subject(),
"time": time(),
string_ext_name: string_ext_value,
bool_ext_name: bool_ext_value,
int_ext_name: int_ext_value,
"datacontenttype": json_datacontenttype(),
"dataschema": dataschema(),
"data_base64": base64::encode(&json_data_binary())
})
}
pub fn full_xml_string_data() -> Event {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
EventBuilderV10::new()
.id(id())
.source(source())
.ty(ty())
.subject(subject())
.time(time())
.extension(&string_ext_name, string_ext_value)
.extension(&bool_ext_name, bool_ext_value)
.extension(&int_ext_name, int_ext_value)
.data(xml_datacontenttype(), xml_data())
.build()
.unwrap()
}
pub fn full_xml_binary_data() -> Event {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
EventBuilderV10::new()
.id(id())
.source(source())
.ty(ty())
.subject(subject())
.time(time())
.extension(&string_ext_name, string_ext_value)
.extension(&bool_ext_name, bool_ext_value)
.extension(&int_ext_name, int_ext_value)
.data(xml_datacontenttype(), Vec::from(xml_data()))
.build()
.unwrap()
}
pub fn full_xml_string_data_json() -> Value {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
"subject": subject(),
"time": time(),
string_ext_name: string_ext_value,
bool_ext_name: bool_ext_value,
int_ext_name: int_ext_value,
"datacontenttype": xml_datacontenttype(),
"data": xml_data()
})
}
pub fn full_xml_base64_data_json() -> Value {
let (string_ext_name, string_ext_value) = string_extension();
let (bool_ext_name, bool_ext_value) = bool_extension();
let (int_ext_name, int_ext_value) = int_extension();
json!({
"specversion": "1.0",
"id": id(),
"type": ty(),
"source": source(),
"subject": subject(),
"time": time(),
string_ext_name: string_ext_value,
bool_ext_name: bool_ext_value,
int_ext_name: int_ext_value,
"datacontenttype": xml_datacontenttype(),
"data_base64": base64::encode(Vec::from(xml_data()))
})
}