mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-27 19:27:42 +02:00
Aspire: Add WithProtoDefinition to support proto definition at server level (#1383)
* Add property UseHttp2 to WireMockServerArguments * . * additionalUrls * ok? * WireMockServerArguments * fx * AddProtoDefinition * ... * FIX * Always add the lifecycle hook to support dynamic mappings and proto definitions
This commit is contained in:
@@ -56,7 +56,7 @@ public partial class TestcontainersTests
|
||||
var grpcPort = wireMockContainer.GetMappedPublicPort(9090);
|
||||
grpcPort.Should().BeGreaterThan(0);
|
||||
|
||||
var grpcUrl = wireMockContainer.GetMappedPublicUrl(80);
|
||||
var grpcUrl = wireMockContainer.GetMappedPublicUrl(9090);
|
||||
grpcUrl.Should().StartWith("http://");
|
||||
|
||||
var adminClient = wireMockContainer.CreateWireMockAdminClient();
|
||||
@@ -149,6 +149,18 @@ public partial class TestcontainersTests
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task WireMockContainer_Build_Grpc_ProtoDefinitionAtServerLevel_UsingGrpcGeneratedClient_AndWithWatchStaticMappings()
|
||||
{
|
||||
var wireMockContainer = await Given_WireMockContainerWithProtoDefinitionAtServerLevelWithWatchStaticMappingsIsStartedForHttpAndGrpcAsync();
|
||||
|
||||
var reply = await When_GrpcClient_Calls_SayHelloAsync(wireMockContainer);
|
||||
|
||||
Then_ReplyMessage_Should_BeCorrect(reply);
|
||||
|
||||
await StopAsync(wireMockContainer);
|
||||
}
|
||||
|
||||
private static async Task<WireMockContainer> Given_WireMockContainerIsStartedForHttpAndGrpcAsync()
|
||||
{
|
||||
var wireMockContainer = new WireMockContainerBuilder()
|
||||
@@ -172,6 +184,19 @@ public partial class TestcontainersTests
|
||||
return wireMockContainer;
|
||||
}
|
||||
|
||||
private static async Task<WireMockContainer> Given_WireMockContainerWithProtoDefinitionAtServerLevelWithWatchStaticMappingsIsStartedForHttpAndGrpcAsync()
|
||||
{
|
||||
var wireMockContainer = new WireMockContainerBuilder()
|
||||
.AddUrl("grpc://*:9090")
|
||||
.AddProtoDefinition("my-greeter", ReadFile("greet.proto"))
|
||||
.WithMappings(Path.Combine(Directory.GetCurrentDirectory(), "__admin", "mappings"))
|
||||
.Build();
|
||||
|
||||
await wireMockContainer.StartAsync();
|
||||
|
||||
return wireMockContainer;
|
||||
}
|
||||
|
||||
private static async Task Given_ProtoBufMappingIsAddedViaAdminInterfaceAsync(WireMockContainer wireMockContainer, string filename)
|
||||
{
|
||||
var mappingsJson = ReadFile(filename);
|
||||
|
||||
@@ -15,13 +15,13 @@ public class PortUtilsTests
|
||||
var url = "test";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeFalse();
|
||||
isHttps.Should().BeFalse();
|
||||
isGrpc.Should().BeFalse();
|
||||
proto.Should().BeNull();
|
||||
scheme.Should().BeNull();
|
||||
host.Should().BeNull();
|
||||
port.Should().Be(default(int));
|
||||
}
|
||||
@@ -33,13 +33,13 @@ public class PortUtilsTests
|
||||
var url = "http://0.0.0.0";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeFalse();
|
||||
isHttps.Should().BeFalse();
|
||||
isGrpc.Should().BeFalse();
|
||||
proto.Should().BeNull();
|
||||
scheme.Should().BeNull();
|
||||
host.Should().BeNull();
|
||||
port.Should().Be(default(int));
|
||||
}
|
||||
@@ -51,13 +51,13 @@ public class PortUtilsTests
|
||||
var url = "http://wiremock.net:1234";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
isHttps.Should().BeFalse();
|
||||
isGrpc.Should().BeFalse();
|
||||
proto.Should().Be("http");
|
||||
scheme.Should().Be("http");
|
||||
host.Should().Be("wiremock.net");
|
||||
port.Should().Be(1234);
|
||||
}
|
||||
@@ -69,13 +69,13 @@ public class PortUtilsTests
|
||||
var url = "https://wiremock.net:5000";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
isHttps.Should().BeTrue();
|
||||
isGrpc.Should().BeFalse();
|
||||
proto.Should().Be("https");
|
||||
scheme.Should().Be("https");
|
||||
host.Should().Be("wiremock.net");
|
||||
port.Should().Be(5000);
|
||||
}
|
||||
@@ -87,13 +87,13 @@ public class PortUtilsTests
|
||||
var url = "grpc://wiremock.net:1234";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
isHttps.Should().BeFalse();
|
||||
isGrpc.Should().BeTrue();
|
||||
proto.Should().Be("grpc");
|
||||
scheme.Should().Be("grpc");
|
||||
host.Should().Be("wiremock.net");
|
||||
port.Should().Be(1234);
|
||||
}
|
||||
@@ -105,13 +105,13 @@ public class PortUtilsTests
|
||||
var url = "https://0.0.0.0:5000";
|
||||
|
||||
// Act
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var proto, out var host, out var port);
|
||||
var result = PortUtils.TryExtract(url, out var isHttps, out var isGrpc, out var scheme, out var host, out var port);
|
||||
|
||||
// Assert
|
||||
result.Should().BeTrue();
|
||||
isHttps.Should().BeTrue();
|
||||
isGrpc.Should().BeFalse();
|
||||
proto.Should().Be("https");
|
||||
scheme.Should().Be("https");
|
||||
host.Should().Be("0.0.0.0");
|
||||
port.Should().Be(5000);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user