ChilliCream / ChilliCream/graphql-platform
Be able to provide http and websocket client to strawberry shake
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 5.8k
- Forks
- 810
- Avg merge
- 15h 39m
- Merged PRs (30d)
- 98
Description
Is your feature request related to a problem?
I am using WebApplicationFactory for integration testing which uses its own in memory http client and I have to register IHttpClientFactory to make strawberry shake to use client from web factory instead of its own client which was not straight forward. I was not able to do the same for web sockets.
The solution you'd like
- Ideally be able to pass both clients to strawberry shake via constructor to cover to most likely scenario by looking through other people's code it seems fixture dependencies are mostly instantiated manually rather than resolved via fixture own DI
- Make strawberry shake play nice with what is described in Integration tests in ASP.NET Core as this is how I ended up using strawberry shake client
Product
Strawberry Shake
Edit:
In the end I was able to provide my own web socket implementation by copy pasting web socket client from HC and hardcoding its values as implementing IWebSocketClient is not something I would be able to do.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how Strawberry Shake constructs its HTTP client and IWebSocketClient, focusing on the constructor and dependency-resolution paths used with WebApplicationFactory. Compare the existing IHttpClientFactory integration with the websocket path, then validate that both supplied clients work in an ASP.NET Core integration-test scenario.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, graphql
- Domain
- api, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100