dotnet / dotnet/aspnetcore

Adding more tests to WebTransport

Open
#42,786 0 comments 0 reactions 0 assignees View on GitHub
area-networking
Dominant language
C#
Stars
38.4k
Forks
10.9k
Avg merge
2d 10h
Merged PRs (30d)
281

Description

### Is there an existing issue for this?

- [X] I have searched the existing issues

### Is your feature request related to a problem? Please describe the problem.

I implemented some basic unit tests as well as some handshake tests in my PR which added WebTransport over HTTP/3 to Kestrel. However, adding more InMemory and some Functional tests would be good to fill in the gaps.

### Describe the solution you'd like

Some good tests would be:
- verifying that the data is properly stripped of stream headers.
- verifying that the logs throughout the connection are reliable.
- verifying that streams are disposed of properly in all cases where the connection, session, or stream is closed or aborted.

Some good integration tests would be:
- starting a connection, accepting a unidirectional stream, reading data, closing.
- starting a connection, accepting a bidirectional stream, reading data, sending data, closing.
- starting a connection, establishing an output unidirectional stream, sending data, closing.
- starting a connection, verifying that datagrams are not supported and handled elegantly.

### Additional context

_No response_

Contributor guide

Open the contributing guide

Research direction

Start with the existing WebTransport-over-HTTP/3 unit and handshake tests in Kestrel, then compare their coverage with the requested InMemory and Functional tests. Cover stream-header handling, connection logs, disposal on close or abort, unidirectional and bidirectional streams, and datagram handling; done means these scenarios have reliable assertions and the relevant test suites pass.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
backend-api-design, networking, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.