mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-18 15:10:17 +02:00
Add an architecture diagram for Aspire project (#1174)
* Add an architecture diagram for Aspire project * . * "WireMock.Net : " + * .
This commit is contained in:
@@ -2,20 +2,48 @@ using AspireApp1.AppHost;
|
|||||||
|
|
||||||
var builder = DistributedApplication.CreateBuilder(args);
|
var builder = DistributedApplication.CreateBuilder(args);
|
||||||
|
|
||||||
//IResourceBuilder<ProjectResource> apiService = builder.AddProject<Projects.AspireApp1_ApiService>("apiservice");
|
IResourceBuilder<ProjectResource> apiService = builder.AddProject<Projects.AspireApp1_ApiService>("apiservice");
|
||||||
|
|
||||||
var mappingsPath = Path.Combine(Directory.GetCurrentDirectory(), "WireMockMappings");
|
var mappingsPath = Path.Combine(Directory.GetCurrentDirectory(), "WireMockMappings");
|
||||||
|
|
||||||
Console.WriteLine($"MappingsPath: {mappingsPath}");
|
//IResourceBuilder<WireMockServerResource> apiService = builder
|
||||||
|
// .AddWireMock("apiservice", WireMockServerArguments.DefaultPort)
|
||||||
|
// .WithMappingsPath(mappingsPath)
|
||||||
|
// .WithReadStaticMappings()
|
||||||
|
// .WithApiMappingBuilder(WeatherForecastApiMock.BuildAsync);
|
||||||
|
|
||||||
var wiremock = builder
|
//var apiServiceUsedForDocs = builder
|
||||||
.AddWireMock("apiservice", WireMockServerArguments.DefaultPort)
|
// .AddWireMock("apiservice1", WireMockServerArguments.DefaultPort)
|
||||||
.WithMappingsPath(mappingsPath)
|
// .WithApiMappingBuilder(adminApiBuilder =>
|
||||||
.WithReadStaticMappings()
|
// {
|
||||||
.WithApiMappingBuilder(WeatherForecastApiMock.BuildAsync);
|
// var summaries = new[]
|
||||||
|
// {
|
||||||
|
// "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
|
||||||
|
// };
|
||||||
|
|
||||||
|
// adminApiBuilder.Given(b => b
|
||||||
|
// .WithRequest(request => request
|
||||||
|
// .UsingGet()
|
||||||
|
// .WithPath("/weatherforecast2")
|
||||||
|
// )
|
||||||
|
// .WithResponse(response => response
|
||||||
|
// .WithHeaders(h => h.Add("Content-Type", "application/json"))
|
||||||
|
// .WithBodyAsJson(() => Enumerable.Range(1, 5).Select(index =>
|
||||||
|
// new WeatherForecast
|
||||||
|
// (
|
||||||
|
// DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
||||||
|
// Random.Shared.Next(-20, 55),
|
||||||
|
// "WireMock.Net : " + summaries[Random.Shared.Next(summaries.Length)]
|
||||||
|
// ))
|
||||||
|
// .ToArray())
|
||||||
|
// )
|
||||||
|
// );
|
||||||
|
|
||||||
|
// return Task.CompletedTask;
|
||||||
|
// });
|
||||||
|
|
||||||
builder.AddProject<Projects.AspireApp1_Web>("webfrontend")
|
builder.AddProject<Projects.AspireApp1_Web>("webfrontend")
|
||||||
.WithExternalHttpEndpoints()
|
.WithExternalHttpEndpoints()
|
||||||
.WithReference(wiremock);
|
.WithReference(apiService);
|
||||||
|
|
||||||
builder.Build().Run();
|
builder.Build().Run();
|
||||||
@@ -23,7 +23,7 @@ internal class WeatherForecastApiMock
|
|||||||
(
|
(
|
||||||
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
|
||||||
Random.Shared.Next(-20, 55),
|
Random.Shared.Next(-20, 55),
|
||||||
summaries[Random.Shared.Next(summaries.Length)]
|
"WireMock.Net 2 : " + summaries[Random.Shared.Next(summaries.Length)]
|
||||||
))
|
))
|
||||||
.ToArray())
|
.ToArray())
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -11,27 +11,27 @@
|
|||||||
{
|
{
|
||||||
"date": "2024-05-24",
|
"date": "2024-05-24",
|
||||||
"temperatureC": -17,
|
"temperatureC": -17,
|
||||||
"summary": "Balmy"
|
"summary": "WireMock.Net 1 : Balmy"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"date": "2024-05-25",
|
"date": "2024-05-25",
|
||||||
"temperatureC": -13,
|
"temperatureC": -13,
|
||||||
"summary": "Mild"
|
"summary": "WireMock.Net 1 : Mild"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"date": "2024-05-26",
|
"date": "2024-05-26",
|
||||||
"temperatureC": 31,
|
"temperatureC": 31,
|
||||||
"summary": "Bracing"
|
"summary": "WireMock.Net 1 : Bracing"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"date": "2024-05-27",
|
"date": "2024-05-27",
|
||||||
"temperatureC": 6,
|
"temperatureC": 6,
|
||||||
"summary": "Hot"
|
"summary": "WireMock.Net 1 : Hot"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"date": "2024-05-28",
|
"date": "2024-05-28",
|
||||||
"temperatureC": -2,
|
"temperatureC": -2,
|
||||||
"summary": "Mild"
|
"summary": "WireMock.Net 1 : Mild"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"Headers": {
|
"Headers": {
|
||||||
|
|||||||
59
src/WireMock.Net.Aspire/doc/architecture.md
Normal file
59
src/WireMock.Net.Aspire/doc/architecture.md
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
overview
|
||||||
|
```mermaid
|
||||||
|
classDiagram
|
||||||
|
class WireMockServerResource {
|
||||||
|
}
|
||||||
|
|
||||||
|
class ContainerResource {
|
||||||
|
}
|
||||||
|
|
||||||
|
class IResourceWithServiceDiscovery {
|
||||||
|
}
|
||||||
|
|
||||||
|
class IResourceWithEndpoints {
|
||||||
|
}
|
||||||
|
|
||||||
|
class WireMockServerArguments {
|
||||||
|
}
|
||||||
|
|
||||||
|
class EndpointReference {
|
||||||
|
}
|
||||||
|
|
||||||
|
class AdminApiMappingBuilder {
|
||||||
|
}
|
||||||
|
|
||||||
|
class IWireMockAdminApi {
|
||||||
|
}
|
||||||
|
|
||||||
|
class MappingModelBuilder {
|
||||||
|
}
|
||||||
|
|
||||||
|
class WireMockServerLifecycleHook {
|
||||||
|
}
|
||||||
|
|
||||||
|
class ResourceLoggerService {
|
||||||
|
}
|
||||||
|
|
||||||
|
class DistributedApplicationModel {
|
||||||
|
}
|
||||||
|
|
||||||
|
class IDistributedApplicationLifecycleHook {
|
||||||
|
}
|
||||||
|
|
||||||
|
WireMockServerResource --> ContainerResource : Inherits
|
||||||
|
WireMockServerResource --> IResourceWithServiceDiscovery : Implements
|
||||||
|
WireMockServerResource --> WireMockServerArguments : Uses
|
||||||
|
WireMockServerResource --> EndpointReference : Returns
|
||||||
|
WireMockServerArguments --> AdminApiMappingBuilder : Uses
|
||||||
|
AdminApiMappingBuilder --> MappingModelBuilder : Uses
|
||||||
|
AdminApiMappingBuilder --> IWireMockAdminApi : Uses
|
||||||
|
|
||||||
|
IResourceWithServiceDiscovery --> IResourceWithEndpoints : Inherits
|
||||||
|
WireMockServerLifecycleHook --> IDistributedApplicationLifecycleHook : Implements
|
||||||
|
WireMockServerLifecycleHook --> ResourceLoggerService : Uses
|
||||||
|
WireMockServerLifecycleHook --> DistributedApplicationModel : Uses
|
||||||
|
WireMockServerLifecycleHook --> WireMockServerResource : Uses
|
||||||
|
WireMockServerLifecycleHook --> IWireMockAdminApi : Uses
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user