From 7eec2274bae3c8c5a40da8c42d31d3527fe6159b Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Wed, 12 Feb 2025 00:36:44 +0100 Subject: [PATCH] FIX broken netstd tests --- .../Protocols/ProtocolsOperationsTests.cs | 77 +++++++++++-------- 1 file changed, 47 insertions(+), 30 deletions(-) diff --git a/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs b/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs index dd9646ad914..f9f3117a6fc 100644 --- a/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs +++ b/lib/netstd/Tests/Thrift.IntegrationTests/Protocols/ProtocolsOperationsTests.cs @@ -23,6 +23,7 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Thrift.Protocol; using Thrift.Protocol.Entities; +using Thrift.Transport; using Thrift.Transport.Client; #pragma warning disable IDE0063 // using @@ -55,12 +56,13 @@ public async Task WriteReadMessage_Test(Type protocolType, TMessageType messageT try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteMessageBeginAsync(expected, default); await protocol.WriteMessageEndAsync(default); + await tuple.Transport.FlushAsync(default); stream.Seek(0, SeekOrigin.Begin); @@ -89,12 +91,13 @@ public async Task WriteReadStruct_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteStructBeginAsync(expected, default); await protocol.WriteStructEndAsync(default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -124,12 +127,13 @@ public async Task WriteReadField_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteFieldBeginAsync(expected, default); await protocol.WriteFieldEndAsync(default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -157,12 +161,13 @@ public async Task WriteReadMap_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteMapBeginAsync(expected, default); await protocol.WriteMapEndAsync(default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -191,12 +196,13 @@ public async Task WriteReadList_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteListBeginAsync(expected, default); await protocol.WriteListEndAsync(default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -224,12 +230,13 @@ public async Task WriteReadSet_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteSetBeginAsync(expected, default); await protocol.WriteSetEndAsync(default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -257,11 +264,12 @@ public async Task WriteReadBool_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteBoolAsync(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -288,11 +296,12 @@ public async Task WriteReadByte_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteByteAsync(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -319,11 +328,12 @@ public async Task WriteReadI16_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteI16Async(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -350,11 +360,12 @@ public async Task WriteReadI32_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteI32Async(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -381,11 +392,12 @@ public async Task WriteReadI64_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteI64Async(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -412,11 +424,12 @@ public async Task WriteReadDouble_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteDoubleAsync(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -443,11 +456,12 @@ public async Task WriteReadString_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteStringAsync(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -474,11 +488,12 @@ public async Task WriteReadBinary_Test(Type protocolType) try { var tuple = GetProtocolInstance(protocolType); - using (var stream = tuple.Item1) + using (var stream = tuple.Stream) { - var protocol = tuple.Item2; + var protocol = tuple.Protocol; await protocol.WriteBinaryAsync(expected, default); + await tuple.Transport.FlushAsync(default); stream?.Seek(0, SeekOrigin.Begin); @@ -494,12 +509,14 @@ public async Task WriteReadBinary_Test(Type protocolType) } } - private static Tuple GetProtocolInstance(Type protocolType) + private record struct ProtocolTransportStack(Stream Stream, TTransport Transport, TProtocol Protocol); + + private static ProtocolTransportStack GetProtocolInstance(Type protocolType) { var memoryStream = new MemoryStream(); var streamClientTransport = new TStreamTransport(memoryStream, memoryStream,Configuration); if( Activator.CreateInstance(protocolType, streamClientTransport) is TProtocol protocol) - return new Tuple(memoryStream, protocol); + return new ProtocolTransportStack(memoryStream, streamClientTransport, protocol); throw new Exception("Unexpected"); } }