Files
scadaproj/ZB.MOM.WW.SPHistorianClient/tests/ZB.MOM.WW.SPHistorianClient.Tests/WcfBindingFactoryTests.cs
T
2026-06-19 05:49:22 -04:00

50 lines
1.4 KiB
C#

using System.Runtime.Versioning;
using System.ServiceModel.Channels;
using ZB.MOM.WW.SPHistorianClient.Wcf;
namespace ZB.MOM.WW.SPHistorianClient.Tests;
[SupportedOSPlatform("windows")]
public sealed class WcfBindingFactoryTests
{
[Fact]
public void CreateMdasNetNamedPipeBinding_WrapsTheInnerEncoderInMdas()
{
if (!OperatingSystem.IsWindows())
{
return;
}
Binding binding = HistorianWcfBindingFactory.CreateMdasNetNamedPipeBinding(TimeSpan.FromSeconds(5));
BindingElementCollection elements = binding.CreateBindingElements();
Assert.Contains(elements, e => e is MdasMessageEncodingBindingElement);
}
[Fact]
public void CreateMdasNetNamedPipeBinding_AppliesProvidedTimeout()
{
if (!OperatingSystem.IsWindows())
{
return;
}
TimeSpan timeout = TimeSpan.FromSeconds(7);
Binding binding = HistorianWcfBindingFactory.CreateMdasNetNamedPipeBinding(timeout);
Assert.Equal(timeout, binding.OpenTimeout);
Assert.Equal(timeout, binding.CloseTimeout);
Assert.Equal(timeout, binding.SendTimeout);
Assert.Equal(timeout, binding.ReceiveTimeout);
}
[Fact]
public void CreatePipeEndpointAddress_BuildsNetPipeUri()
{
var address = HistorianWcfBindingFactory.CreatePipeEndpointAddress("localhost", "Hist");
Assert.Equal(new Uri("net.pipe://localhost/Hist"), address.Uri);
}
}