50 lines
1.4 KiB
C#
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);
|
|
}
|
|
}
|