From 8f5aff070b2e240daddc0b49523637619220617a Mon Sep 17 00:00:00 2001 From: Jens Geyer Date: Thu, 25 Apr 2024 00:23:44 +0200 Subject: [PATCH] thrift:// URIs --- .../UriFactory/TUriFactoryTests.cs | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/netstd/Tests/Thrift.Tests/UriFactory/TUriFactoryTests.cs b/lib/netstd/Tests/Thrift.Tests/UriFactory/TUriFactoryTests.cs index 36db33c5b6d..ff5f29de77b 100644 --- a/lib/netstd/Tests/Thrift.Tests/UriFactory/TUriFactoryTests.cs +++ b/lib/netstd/Tests/Thrift.Tests/UriFactory/TUriFactoryTests.cs @@ -17,8 +17,10 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Linq; +using Microsoft.VisualBasic; using Microsoft.VisualStudio.TestTools.UnitTesting; using Thrift.Transport; @@ -75,6 +77,20 @@ public void TFactory_Can_Parse_And_Construct_Socket_Transports() ); } + [TestMethod] + public void TFactory_Can_Use_Multiplex() + { + var uri1 = new TThriftUri(BuiltinProtocols.binary, BuiltinTransports.http, "http://example.com"); + var uri2 = new TThriftUri(BuiltinProtocols.binary, BuiltinTransports.http, "http://example.com"); + + uri1.Layers.Add(new("mplex", new() { ["one"] = string.Empty })); + uri2.Layers.Add(new("mplex", new() { ["two"] = string.Empty })); + + var config = new TConfiguration(); + var prot1 = TFactory.ConstructClientProtocolTransportStack(uri1, config, out var transport); + var prot2 = TFactory.ConstructClientProtocolTransportStack(uri1, config, out var transport); + } + private void InternalTestMethodImplementation(IEnumerable protocols, IEnumerable transports, IEnumerable decorators, IEnumerable layeredTransports) { // those must not be empty to have at least one test run @@ -85,7 +101,7 @@ private void InternalTestMethodImplementation(IEnumerable prot Assert.IsTrue(decorators.FirstOrDefault() == BuiltinProtocolDecorators.none); Assert.IsTrue(layeredTransports.FirstOrDefault() == BuiltinLayeredTransports.none); - // thrift://protocol/transport/layer/layer?data + // thrift:protocol/transport/layer/layer?data var numTests = 0; foreach (var proto in protocols) { @@ -226,6 +242,7 @@ private static string MakeQueryString(Dictionary data) private static void TestUri(string sUri) { + Console.WriteLine($"Testing {sUri}"); var parsed = new TThriftUri(sUri); Assert.AreEqual(sUri, parsed.ToString());