relentless_grpc/
command.rs1use relentless::interface::command::{Assault, Relentless};
2use serde::{Deserialize, Serialize};
3
4use crate::{
5 client::GrpcMethodRequest, evaluate::GrpcResponse, factory::GrpcRequest, helper::JsonSerializer,
6 record::GrpcIoRecorder,
7};
8
9#[derive(Debug, Clone, PartialEq, Default, Serialize, Deserialize)]
10pub struct GrpcAssault {
11 relentless: Relentless,
12}
13impl Assault<GrpcMethodRequest<serde_json::Value, JsonSerializer>, tonic::Response<serde_json::Value>> for GrpcAssault {
14 type Request = GrpcRequest;
15 type Response = GrpcResponse;
16 type Recorder = GrpcIoRecorder;
17
18 fn command(&self) -> &Relentless {
19 &self.relentless
20 }
21 fn recorder(&self) -> Self::Recorder {
22 GrpcIoRecorder
23 }
24}
25
26impl GrpcAssault {
27 pub fn new(relentless: Relentless) -> Self {
28 Self { relentless }
29 }
30}