3 个版本
0.1.2 | 2024 年 1 月 13 日 |
---|---|
0.1.1 | 2023 年 1 月 13 日 |
0.1.0 | 2022 年 10 月 31 日 |
#654 在 HTTP 服务器
31 每月下载次数
用于 lava-api
120KB
2.5K SLoC
Rust lava api 库
此库提供对 LAVA REST API 的访问
lib.rs
:
此库提供一组类型,用于构建提供生成数据的 LAVA REST API 的模拟服务器。
概述
Lava 数据库中的主要类型具有此库中的类型
有一个容器类型 State
,它实现了来自 Context
的 persian-rug
库。所有类型都是 GeneratableWithPersianRug
和 BuildableWithPersianRug
,这些来自 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