https://github.com/fabiojfl16/mockserver.aspire.hosting
An extension to use MockServer container with .Net Aspire
https://github.com/fabiojfl16/mockserver.aspire.hosting
aspire-dotnet aspire-hosting mockserver nuget-package
Last synced: 12 months ago
JSON representation
An extension to use MockServer container with .Net Aspire
- Host: GitHub
- URL: https://github.com/fabiojfl16/mockserver.aspire.hosting
- Owner: fabiojfl16
- License: mit
- Created: 2024-09-14T01:31:47.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-27T19:16:33.000Z (over 1 year ago)
- Last Synced: 2025-06-24T09:50:45.154Z (about 1 year ago)
- Topics: aspire-dotnet, aspire-hosting, mockserver, nuget-package
- Language: C#
- Homepage: https://www.nuget.org/packages/MockServer.Aspire.Hosting
- Size: 122 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MockServer.Aspire.Hosting
An extension to use [MockServer](https://www.mock-server.com/) container with [.NET Aspire](https://github.com/dotnet/aspire). This is a great tool to mock external api dependencies and also for Integration tests implementation.
Install the **MockServer.Aspire.Hosting** NuGet Package in the **.AppHost** project of your solution, and add the following code in the Program.cs file
```csharp
var mockserver = builder.AddMockServer("mockserver", 1080);
```
The **AddMockServer** method takes two parameters
- The **name** used by Service Discovery: http://mockserver
- The **port** MockServer should run on. The default port is 1080
Notice the **.WithExpectations** extension method. Here you can add a list of expectations that mockserver should respond
```csharp
var mockserver = builder.AddMockServer("mockserver", 1080)
.WithExpectations([MockServerExpectations.WheatherForecastExpectation]);
```
For instance, this is the response mockserver should return for the GET method http://mockserver/api/weatherforecast
```json
"httpRequest": {
"method": "GET",
"path": "/api/weatherforecast",
"queryStringParameters": {},
"cookies": {}
},
"httpResponse": {
"body":
[
{"Date":"2024-09-14","TemperatureC":42,"Summary":"Sweltering","TemperatureF":107},
{"Date":"2024-09-15","TemperatureC":-3,"Summary":"Warm","TemperatureF":27},
{"Date":"2024-09-16","TemperatureC":43,"Summary":"Freezing","TemperatureF":109},
{"Date":"2024-09-17","TemperatureC":9,"Summary":"Cool","TemperatureF":48},
{"Date":"2024-09-18","TemperatureC":27,"Summary":"Hot","TemperatureF":80}
]
}
```
After adding mockserver, you should include it as a reference for your Api
```csharp
builder.AddProject("webfrontend")
.WithReference(mockserver);
```
Take a look at the sample project for better understanding.