use crate::e2e::fixture::Fixture;
pub trait WebSocketScriptRenderer {
fn language_name(&self) -> &'static str;
}
pub fn render_ws_test<R: WebSocketScriptRenderer + ?Sized>(
_out: &mut String,
_renderer: &R,
_fixture: &Fixture,
) -> bool {
false
}
#[cfg(test)]
mod tests {
use super::{WebSocketScriptRenderer, render_ws_test};
use crate::e2e::fixture::Fixture;
struct StubRenderer;
impl WebSocketScriptRenderer for StubRenderer {
fn language_name(&self) -> &'static str {
"stub"
}
}
#[test]
fn stub_driver_emits_no_test() {
let fixture = Fixture {
docs: None,
requirements: Vec::new(),
id: "ws_stub".into(),
description: "stub".into(),
category: None,
tags: vec![],
skip: None,
env: None,
setup: Vec::new(),
call: None,
input: serde_json::Value::Null,
mock_response: None,
visitor: None,
args: vec![],
assertion_recipes: vec![],
assertions: vec![],
source: String::new(),
http: None,
asyncapi: None,
websocket: None,
preserve_input_urls: false,
};
let mut out = String::new();
let emitted = render_ws_test(&mut out, &StubRenderer, &fixture);
assert!(!emitted);
assert!(out.is_empty());
}
}