Add WebSocket functional tests
- Dominant language
- C#
- Stars
- 38.4k
- Forks
- 10.9k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 281
Description
_From @muratg on Monday, January 4, 2016 2:32:28 PM_
_From @Tratcher on October 20, 2015 1:0_
_From @Sharpiro on October 19, 2015 17:29_
IHttpUpgradeFeature "IsUpgradableRequest" is never true in IIS Express profile, but works when running from kestrel via default "web" profile. Likely an issue with: `"Microsoft.AspNet.IISPlatformHandler": "1.0.0-beta8"`
Repro:
Create an empty web application from the asp.net 5 templates. Add the following lines of code inside `app.Run` inside Startup.cs:
```
var temp = context.Features.Get().IsUpgradableRequest;
var upgradeFeature = context.Features.Get();
```
Send the following line of code via a web browser:
```
var socket = new WebSocket("ws://localhost:---your port here---");
```
I am able to achieve a "true" value from "temp" when running from kestrel "web" profile only. The "temp" value is always false when running form IIS Express.
_Copied from original issue: aspnet/Home#1005_
_Copied from original issue: aspnet/IISIntegration#19_
_Copied from original issue: aspnet/WebSockets#67_
Contributor guide
Research direction
Start by reproducing the IHttpUpgradeFeature behavior described in Startup.cs with the IIS Express and Kestrel profiles, then inspect the existing functional-test structure. Done means adding WebSocket coverage that distinguishes the two hosting profiles and verifies the expected upgrade behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- backend, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 28/100