arcus-azure / arcus-azure/arcus.testing

✨ [New]: pass cancellation token to test fixtures

Open
#507 0 comments 0 reactions 0 assignees View on GitHub
feature good first issue
Dominant language
C#
Stars
9
Forks
6
PR merge metrics
No merged PRs in 30d

Description

### Description

With the new update of xUnit and the update throughout other testing frameworks as well, there is support available for test cancellation. This makes sure that tests cancelled by the user are faster finished (still keeping the teardown process in mind).

### Solution

We should make sure that the following libraries have test cancellation support:
* [x] Azure Blob Storage https://github.com/arcus-azure/arcus.testing/pull/508
* [ ] Azure Table Storage
* [ ] Azure Service Bus
* [ ] Azure Event Hubs
* [ ] Azure Cosmos DB
* [ ] Azure Data Factory
* [ ] Core
* [ ] Azure File Share

### Additional context

The process of adding cancellation support is:
1. Determine the 'setup' operations on the test fixture.
2. Create new overloads with the `CancellationToken` parameter.
3. Use the `CancellationToken` parameter throughout the 'setup' operations.
4. Mark the non-cancellation overloads obsolete & replace implementation with delegation to cancellation-supported overloads.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the completed Azure Blob Storage work in pull request 508, then inspect the setup operations in each unchecked fixture library: Table Storage, Service Bus, Event Hubs, Cosmos DB, Data Factory, Core, and File Share. Done means those fixtures support CancellationToken overloads, use the token during setup, and obsolete overloads delegate to them.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
cloud, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.