mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-02-24 09:45:01 +01:00
Update WireMockProtoFileResolver and add tests for ProtoBufUtils (#1252)
* Update WireMockProtoFileResolver and add tests for ProtoBufUtils * .
This commit is contained in:
41
test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs
Normal file
41
test/WireMock.Net.Tests/Grpc/ProtoBufUtilsTests.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
// Copyright © WireMock.Net
|
||||
|
||||
#if PROTOBUF
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using FluentAssertions;
|
||||
using WireMock.Util;
|
||||
using Xunit;
|
||||
|
||||
namespace WireMock.Net.Tests.Grpc;
|
||||
|
||||
public class ProtoBufUtilsTests
|
||||
{
|
||||
[Fact]
|
||||
public async Task GetProtoBufMessageWithHeader_MultipleProtoFiles()
|
||||
{
|
||||
// Arrange
|
||||
var greet = await ReadProtoFileAsync("greet1.proto");
|
||||
var request = await ReadProtoFileAsync("request.proto");
|
||||
|
||||
// Act
|
||||
var responseBytes = await ProtoBufUtils.GetProtoBufMessageWithHeaderAsync(
|
||||
[greet, request],
|
||||
"greet.HelloRequest",
|
||||
new
|
||||
{
|
||||
name = "hello"
|
||||
}
|
||||
);
|
||||
|
||||
// Assert
|
||||
Convert.ToBase64String(responseBytes).Should().Be("AAAAAAcKBWhlbGxv");
|
||||
}
|
||||
|
||||
private static Task<string> ReadProtoFileAsync(string filename)
|
||||
{
|
||||
return File.ReadAllTextAsync(Path.Combine(Directory.GetCurrentDirectory(), "Grpc", filename));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
13
test/WireMock.Net.Tests/Grpc/greet1.proto
Normal file
13
test/WireMock.Net.Tests/Grpc/greet1.proto
Normal file
@@ -0,0 +1,13 @@
|
||||
syntax = "proto3";
|
||||
|
||||
import "request.proto";
|
||||
|
||||
package greet;
|
||||
|
||||
service Greeter {
|
||||
rpc SayHello (HelloRequest) returns (HelloReply);
|
||||
}
|
||||
|
||||
message HelloReply {
|
||||
string message = 1;
|
||||
}
|
||||
8
test/WireMock.Net.Tests/Grpc/request.proto
Normal file
8
test/WireMock.Net.Tests/Grpc/request.proto
Normal file
@@ -0,0 +1,8 @@
|
||||
// request.proto
|
||||
syntax = "proto3";
|
||||
|
||||
package greet;
|
||||
|
||||
message HelloRequest {
|
||||
string name = 1;
|
||||
}
|
||||
@@ -134,6 +134,14 @@
|
||||
<None Update="cert.pem">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Update="Grpc\request.proto">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<!--<GrpcServices>Client</GrpcServices>-->
|
||||
</None>
|
||||
<None Update="Grpc\greet1.proto">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<!--<GrpcServices>Client</GrpcServices>-->
|
||||
</None>
|
||||
<None Update="Grpc\policy.proto">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
<GrpcServices>Client</GrpcServices>
|
||||
|
||||
Reference in New Issue
Block a user