Azure / Azure/azure-sdk-for-rust

[Event Hubs] Add live tests for the blob checkpoint store

Open
#4,894 0 comments 1 reaction 1 assignee Claimed by @j7nw4r View on GitHub
Client Event Hubs test-enhancement
Dominant language
Rust
Stars
884
Forks
365
Avg merge
2d 19h
Merged PRs (30d)
109

Description

## Summary

`azure_messaging_eventhubs_checkpointstore_blob` has 14 recorded tests across `checkpoint_unit_tests.rs` and `ownership_unit_tests.rs`. They cover claims, etag versions, and a stale etag failure. They do not cover isolation between event hubs, consumer groups, and namespaces, and they do not cover errors against a container that does not exist. .NET has 26 tests in `BlobsCheckpointStoreInternalLiveTests.cs`.

## Motivation

The blob checkpoint store keys every record by namespace, event hub, consumer group, and partition. If that key is wrong, two unrelated processors overwrite each other's checkpoints, and events are lost or reprocessed. The isolation tests are the ones that prove the key is correct. Part of #4886.

## Proposal

- [ ] Checkpoints and ownership records for one event hub, consumer group, or namespace do not interfere with another one (.NET `CheckpointUpdateDoesNotInterfereWithOtherConsumerGroups` and its siblings).
- [ ] Store operations against a container that does not exist return a clear error (.NET `GetCheckpointDetectsWhenTheContainerDoesNotExist`, `ListOwnershipFailsWhenContainerDoesNotExist`).

## Validation

Deploy the test resources with `eng/common/TestResources/New-TestResources.ps1 -ServiceDirectory eventhubs`. Set the storage variables. Then run `AZURE_TEST_MODE=live cargo test --package azure_messaging_eventhubs_checkpointstore_blob`. Each new test passes in live mode.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.