re_redap_client 0.36.1

Official gRPC client for the Rerun Data Protocol
Documentation
#![cfg(target_arch = "wasm32")]

use wasm_bindgen_test::wasm_bindgen_test;

wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);

fn redap_port() -> u16 {
    web_sys::window()
        .expect("test should run in a browser window")
        .location()
        .port()
        .expect("window location port should be available")
        .parse()
        .expect("window location port should be valid")
}

#[wasm_bindgen_test]
async fn check_native_redap_server_version_endpoint() {
    re_log::setup_logging();

    let port = redap_port();
    let url = format!("http://127.0.0.1:{port}/version");

    let response = ehttp::fetch_async(ehttp::Request::get(url.clone()))
        .await
        .unwrap_or_else(|err| panic!("failed to get {url}: {err}"));
    let text = response.text();
    assert!(
        response.ok,
        "failed to get {url}: {} {} {text:?}",
        response.status, response.status_text
    );

    let text = text.expect("/version response should be valid UTF-8");
    assert!(
        text.starts_with("re_server "),
        "unexpected /version response: {text:?}"
    );
}