3 个版本

0.1.2 2024 年 1 月 13 日
0.1.1 2023 年 1 月 13 日
0.1.0 2022 年 10 月 31 日

#654HTTP 服务器

31 每月下载次数
用于 lava-api

MIT/Apache

120KB
2.5K SLoC

Rust lava api 库

此库提供对 LAVA REST API 的访问


lib.rs:

此库提供一组类型,用于构建提供生成数据的 LAVA REST API 的模拟服务器。

概述

Lava 数据库中的主要类型具有此库中的类型

有一个容器类型 State,它实现了来自 Contextpersian-rug 库。所有类型都是 GeneratableWithPersianRugBuildableWithPersianRug,这些来自 boulder 库。

LavaMock

大多数用户会希望将测试基于 LavaMock,这是一个由 django-query 衍生的服务器,它提供了标准 Lava 服务器 v0.2 查询 REST 端点的全部功能。请参阅文档以了解其限制。它提供的数据来自一个 SharedState(一个对 State 的同步包装),它可以填充默认数据作为起点,也可以动态更新以模拟所需的任何更新模式。

示例

use futures::stream::TryStreamExt;
use lava_api_mock::{LavaMock, PaginationLimits, PopulationParams, SharedState};
use lava_api::Lava;

// Make the mock server
let limits = PaginationLimits::new();
let population = PopulationParams::new();
let mock = LavaMock::new(SharedState::new_populated(population), limits).await;

// Make the Lava client for reading back data from the server
let lava = Lava::new(&mock.uri(), None).expect("failed to make lava client");

// Read back the devices using the Lava client
let mut ld = lava.devices();
while let Some(device) = ld
    .try_next()
    .await
    .expect("failed to read devices from server")
{
    println!("Got device {:?}", device);
}

依赖项

~22MB
~400K SLoC