in sdk/rust/src/lib.rs [677:736]
fn test_frontend_service() {
let mut client = get_frontend_client();
let function_id = client
.register_function(
"builtin-echo",
"An native echo function.",
"builtin",
None,
Some(vec![FunctionArgument::new("message", "", true)]),
None,
None,
Some(2),
)
.unwrap();
let _ = client.get_function(&function_id).unwrap();
let function_arguments = hashmap!("message" => "Hello, Teaclave!");
let task_id = client
.create_task(
&function_id,
Some(function_arguments.clone()),
"builtin",
None,
None,
)
.unwrap();
let _ = client.invoke_task(&task_id).unwrap();
let (result, log) = client.get_task_result(&task_id).unwrap();
let usage_number = client.get_function_usage_stats(&function_id).unwrap();
assert_eq!(result, b"Hello, Teaclave!");
assert!(log.is_empty());
assert_eq!(1, usage_number);
let task_id = client
.create_task(
&function_id,
Some(function_arguments.clone()),
"builtin",
None,
None,
)
.unwrap();
let _ = client.invoke_task(&task_id).unwrap();
let (result, log) = client.get_task_result(&task_id).unwrap();
let usage_number = client.get_function_usage_stats(&function_id).unwrap();
assert_eq!(result, b"Hello, Teaclave!");
assert!(log.is_empty());
assert_eq!(2, usage_number);
let task_id = client
.create_task(
&function_id,
Some(function_arguments),
"builtin",
None,
None,
)
.unwrap();
assert!(client.invoke_task(&task_id).is_err());
}