Skip to content

Commit b3e8109

Browse files
committed
Use default buffer size for old APIs
Also adding test case
1 parent cc9b3e3 commit b3e8109

File tree

3 files changed

+47
-5
lines changed

3 files changed

+47
-5
lines changed

databroker/src/broker.rs

Lines changed: 45 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4241,8 +4241,7 @@ pub mod tests {
42414241
}
42424242
}
42434243

4244-
#[tokio::test]
4245-
async fn test_subscribe_and_get() {
4244+
async fn test_subscribe_and_get_buffer_size(buffer_size: Option<usize>) {
42464245
let broker = DataBroker::default();
42474246
let broker = broker.authorized_access(&permissions::ALLOW_ALL);
42484247

@@ -4264,7 +4263,7 @@ pub mod tests {
42644263
let mut stream = broker
42654264
.subscribe(
42664265
HashMap::from([(id1, HashSet::from([Field::Datapoint]))]),
4267-
None,
4266+
buffer_size,
42684267
)
42694268
.await
42704269
.expect("subscription should succeed");
@@ -4342,6 +4341,49 @@ pub mod tests {
43424341
}
43434342
}
43444343

4344+
#[tokio::test]
4345+
async fn test_subscribe_and_get() {
4346+
// None and 0-1000 is valid range
4347+
test_subscribe_and_get_buffer_size(None).await;
4348+
test_subscribe_and_get_buffer_size(Some(0)).await;
4349+
test_subscribe_and_get_buffer_size(Some(1000)).await;
4350+
}
4351+
4352+
#[tokio::test]
4353+
async fn test_subscribe_buffersize_out_of_range() {
4354+
let broker = DataBroker::default();
4355+
let broker = broker.authorized_access(&permissions::ALLOW_ALL);
4356+
4357+
let id1 = broker
4358+
.add_entry(
4359+
"test.datapoint1".to_owned(),
4360+
DataType::Int32,
4361+
ChangeType::OnChange,
4362+
EntryType::Sensor,
4363+
"Test datapoint 1".to_owned(),
4364+
None, // min
4365+
None, // max
4366+
None,
4367+
None,
4368+
)
4369+
.await
4370+
.expect("Register datapoint should succeed");
4371+
4372+
match broker
4373+
.subscribe(
4374+
HashMap::from([(id1, HashSet::from([Field::Datapoint]))]),
4375+
// 1001 is just outside valid range 0-1000
4376+
Some(1001),
4377+
)
4378+
.await
4379+
{
4380+
Err(SubscriptionError::InvalidBufferSize) => {}
4381+
_ => {
4382+
panic!("expected it to fail with InvalidBufferSize");
4383+
}
4384+
}
4385+
}
4386+
43454387
#[tokio::test]
43464388
async fn test_metadata_for_each() {
43474389
let db = DataBroker::default();

databroker/src/grpc/kuksa_val_v1/val.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ impl proto::val_server::Val for broker::DataBroker {
600600
}
601601
}
602602

603-
match broker.subscribe(entries, Some(1)).await {
603+
match broker.subscribe(entries, None).await {
604604
Ok(stream) => {
605605
let stream = convert_to_proto_stream(stream);
606606
Ok(tonic::Response::new(Box::pin(stream)))

databroker/src/viss/v2/server.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ impl Viss for Server {
271271
});
272272
};
273273

274-
match broker.subscribe(entries, Some(1)).await {
274+
match broker.subscribe(entries, None).await {
275275
Ok(stream) => {
276276
let subscription_id = SubscriptionId::new();
277277

0 commit comments

Comments
 (0)