public void CreateSendPortTwoWay() { var visitor = BindingInfoBuilderVisitor.Create(); // initialize BindingInfoBuilderVisitor.ApplicationName visitor.VisitApplicationBinding(new TestApplication()); var binding = visitor.CreateSendPort(new TestApplication.TwoWaySendPort()); Assert.That(binding.ApplicationName, Is.EqualTo("TestApplication")); Assert.That(binding.Description, Is.EqualTo("Some Useless Two-Way Test Send Port")); Assert.That(binding.Filter, Is.Null); Assert.That(binding.IsDynamic, Is.False); Assert.That(binding.IsStatic, Is.True); Assert.That(binding.IsTwoWay, Is.True); Assert.That(binding.Name, Is.EqualTo("TwoWaySendPort")); Assert.That(binding.PrimaryTransport.FromTime, Is.EqualTo((DateTime)ServiceWindow.None.StartTime)); Assert.That(binding.PrimaryTransport.Primary, Is.True); Assert.That(binding.PrimaryTransport.RetryCount, Is.EqualTo(RetryPolicy.Default.Count)); Assert.That(binding.PrimaryTransport.RetryInterval, Is.EqualTo(RetryPolicy.Default.Interval.TotalMinutes)); Assert.That(binding.PrimaryTransport.SendHandler.Name, Is.EqualTo("Send Host Name")); Assert.That(binding.PrimaryTransport.SendHandler.TransportType.Name, Is.EqualTo("Test Dummy")); Assert.That(binding.PrimaryTransport.ServiceWindowEnabled, Is.False); Assert.That(binding.PrimaryTransport.ToTime, Is.EqualTo((DateTime)ServiceWindow.None.StopTime)); Assert.That(binding.ReceivePipeline.Name, Is.EqualTo(typeof(PassThruReceive).FullName)); Assert.That(binding.ReceivePipeline.FullyQualifiedName, Is.EqualTo(typeof(PassThruReceive).AssemblyQualifiedName)); Assert.That(binding.ReceivePipeline.TrackingOption, Is.EqualTo(PipelineTrackingTypes.None)); Assert.That(binding.ReceivePipeline.Type, Is.EqualTo(PipelineRef.ReceivePipelineRef().Type)); Assert.That(binding.ReceivePipelineData, Is.Not.Null.And.Not.Empty); Assert.That(binding.SecondaryTransport, Is.Null); Assert.That(binding.SendPipelineData, Is.Empty); Assert.That(binding.TransmitPipeline.Name, Is.EqualTo(typeof(PassThruTransmit).FullName)); Assert.That(binding.TransmitPipeline.FullyQualifiedName, Is.EqualTo(typeof(PassThruTransmit).AssemblyQualifiedName)); Assert.That(binding.TransmitPipeline.TrackingOption, Is.EqualTo(PipelineTrackingTypes.None)); Assert.That(binding.TransmitPipeline.Type, Is.EqualTo(PipelineRef.TransmitPipelineRef().Type)); }
public void CreateReceiveLocationOneWay() { var dsl = new TestApplication.OneWayReceiveLocation(); var visitor = BindingInfoBuilderVisitor.Create(); var binding = visitor.CreateReceiveLocation(dsl); Assert.That(binding.Name, Is.EqualTo("OneWayReceiveLocation")); Assert.That(binding.Address, Is.EqualTo(@"c:\files\drops\*.xml")); Assert.That(binding.Description, Is.EqualTo("Some Useless One-Way Test Receive Location")); Assert.That(binding.Enable, Is.False); Assert.That(binding.EndDate, Is.EqualTo(dsl.Transport.Schedule.StopDate)); Assert.That(binding.EndDateEnabled, Is.True); Assert.That(binding.FromTime, Is.EqualTo((DateTime)dsl.Transport.Schedule.ServiceWindow.StartTime)); Assert.That(binding.ReceiveHandler.Name, Is.EqualTo("Receive Host Name")); Assert.That(binding.ReceivePipeline.Name, Is.EqualTo(typeof(PassThruReceive).FullName)); Assert.That(binding.ReceivePipeline.FullyQualifiedName, Is.EqualTo(typeof(PassThruReceive).AssemblyQualifiedName)); Assert.That(binding.ReceivePipeline.TrackingOption, Is.EqualTo(PipelineTrackingTypes.None)); Assert.That(binding.ReceiveHandler.TransportType.Name, Is.EqualTo("Test Dummy")); Assert.That(binding.ReceivePipeline.Type, Is.EqualTo(PipelineRef.ReceivePipelineRef().Type)); Assert.That(binding.ReceivePipelineData, Is.Not.Null.And.Not.Empty); Assert.That(binding.SendPipeline, Is.Null); Assert.That(binding.SendPipelineData, Is.Null); Assert.That(binding.ServiceWindowEnabled, Is.True); Assert.That(binding.StartDate, Is.EqualTo(dsl.Transport.Schedule.StartDate)); Assert.That(binding.StartDateEnabled, Is.True); Assert.That(binding.ToTime, Is.EqualTo((DateTime)dsl.Transport.Schedule.ServiceWindow.StopTime)); }
public void CreateModuleRef() { var visitor = BindingInfoBuilderVisitor.Create(); // initialize BindingInfo visitor.VisitApplicationBinding(new TestApplication()); var binding = visitor.CreateOrFindModuleRef(new ProcessOrchestrationBinding()); Assert.That(binding.FullName, Is.EqualTo(typeof(Process).Assembly.FullName)); }
public void VisitedSendPortNameMustBeUnique() { var visitor = BindingInfoBuilderVisitor.Create(); visitor.VisitApplicationBinding(new TestApplication()); visitor.VisitSendPort(new TestApplication.OneWaySendPort()); Assert.That( () => visitor.VisitSendPort(new TestApplication.OneWaySendPort()), Throws.InvalidOperationException.With.Message.EqualTo("Duplicate send port name: 'OneWaySendPort'.")); }
public void VisitedReceiveLocationNameMustBeUnique() { var visitor = BindingInfoBuilderVisitor.Create(); visitor.VisitApplicationBinding(new TestApplication()); visitor.VisitReceivePort(new TestApplication.OneWayReceivePort()); visitor.VisitReceiveLocation(new TestApplication.OneWayReceiveLocation()); Assert.That( () => visitor.VisitReceiveLocation(new TestApplication.OneWayReceiveLocation()), Throws.InvalidOperationException.With.Message.EqualTo("Duplicate receive location name: 'OneWayReceiveLocation'.")); }
public void VisitApplicationBindingSettlesTargetEnvironmentOverrides() { var applicationBindingMock = new Mock <IApplicationBinding <string> >(); applicationBindingMock.As <ISupportNamingConvention>(); applicationBindingMock.As <ISupportValidation>(); var visitableApplicationBindingMock = applicationBindingMock.As <IVisitable <IApplicationBindingVisitor> >(); var visitor = BindingInfoBuilderVisitor.Create(); visitor.VisitApplicationBinding(applicationBindingMock.Object); visitableApplicationBindingMock.Verify(a => a.Accept(It.IsAny <ApplicationBindingEnvironmentSettlerVisitor>()), Times.Once); }
public void CreateReceivePortTwoWay() { var visitor = BindingInfoBuilderVisitor.Create(); // initialize BindingInfoBuilderVisitor.ApplicationName visitor.VisitApplicationBinding(new TestApplication()); var binding = visitor.CreateReceivePort(new TestApplication.TwoWayReceivePort()); Assert.That(binding.ApplicationName, Is.EqualTo("TestApplication")); Assert.That(binding.Description, Is.EqualTo("Some Useless Two-Way Test Receive Port")); Assert.That(binding.IsTwoWay, Is.True); Assert.That(binding.Name, Is.EqualTo("TwoWayReceivePort")); Assert.That(binding.ReceiveLocations.Count, Is.EqualTo(0)); }
public void CreateBindingInfo() { var visitor = BindingInfoBuilderVisitor.Create(); visitor.VisitApplicationBinding(new TestApplication()); var binding = visitor.BindingInfo; Assert.That(binding.BindingParameters.BindingActions, Is.EqualTo(BindingParameters.BindingActionTypes.Bind)); Assert.That(binding.BindingParameters.BindingItems, Is.EqualTo(BindingParameters.BindingItemTypes.All)); Assert.That(binding.BindingParameters.BindingScope, Is.EqualTo(BindingParameters.BindingScopeType.Application)); Assert.That(binding.BindingParameters.BindingSetState, Is.EqualTo(BindingParameters.BindingSetStateType.UseServiceState)); Assert.That(binding.BindingParameters.BindingsSourceVersion.ToString(), Is.EqualTo(new BindingInfo().Version)); Assert.That(binding.Description, Is.EqualTo("Some Useless Test Application")); Assert.That(binding.ModuleRefCollection.Count, Is.EqualTo(1)); Assert.That(binding.ModuleRefCollection[0].Name, Is.EqualTo("[Application:TestApplication]")); }
public void CreateServiceRef() { var visitor = BindingInfoBuilderVisitor.Create(); var orchestrationBinding = new ProcessOrchestrationBinding( ob => { ob.Description = "Some Useless Orchestration."; ob.Host = "Processing Host Name"; ob.ReceivePort = new TestApplication.OneWayReceivePort(); ob.RequestResponsePort = new TestApplication.TwoWayReceivePort(); ob.SendPort = new TestApplication.OneWaySendPort(); ob.SolicitResponsePort = new TestApplication.TwoWaySendPort(); }); var binding = visitor.CreateServiceRef(orchestrationBinding); Assert.That(binding.Description, Is.EqualTo("Some Useless Orchestration.")); Assert.That(binding.Host.Name, Is.EqualTo("Processing Host Name")); Assert.That(binding.Host.Trusted, Is.False); Assert.That(binding.Host.Type, Is.EqualTo((int)HostType.Invalid)); Assert.That(binding.Name, Is.EqualTo(typeof(Process).FullName)); Assert.That(binding.State, Is.EqualTo(ServiceRef.ServiceRefState.Enlisted)); Assert.That(binding.TrackingOption, Is.EqualTo(OrchestrationTrackingTypes.None)); Assert.That(binding.Ports.Count, Is.EqualTo(4)); Assert.That(binding.Ports[0].Modifier, Is.EqualTo((int)PortModifier.Import)); Assert.That(binding.Ports[0].Name, Is.EqualTo("SendPort")); Assert.That(binding.Ports[0].ReceivePortRef, Is.Null); Assert.That(binding.Ports[0].SendPortRef.Name, Is.EqualTo(((ISupportNamingConvention) new TestApplication.OneWaySendPort()).Name)); Assert.That(binding.Ports[1].Modifier, Is.EqualTo((int)PortModifier.Export)); Assert.That(binding.Ports[1].Name, Is.EqualTo("ReceivePort")); Assert.That(binding.Ports[1].ReceivePortRef.Name, Is.EqualTo(((ISupportNamingConvention) new TestApplication.OneWayReceivePort()).Name)); Assert.That(binding.Ports[1].SendPortRef, Is.Null); Assert.That(binding.Ports[2].Modifier, Is.EqualTo((int)PortModifier.Export)); Assert.That(binding.Ports[2].Name, Is.EqualTo("RequestResponsePort")); Assert.That(binding.Ports[2].ReceivePortRef.Name, Is.EqualTo(((ISupportNamingConvention) new TestApplication.TwoWayReceivePort()).Name)); Assert.That(binding.Ports[2].SendPortRef, Is.Null); Assert.That(binding.Ports[3].Modifier, Is.EqualTo((int)PortModifier.Import)); Assert.That(binding.Ports[3].Name, Is.EqualTo("SolicitResponsePort")); Assert.That(binding.Ports[3].ReceivePortRef, Is.Null); Assert.That(binding.Ports[3].SendPortRef.Name, Is.EqualTo(((ISupportNamingConvention) new TestApplication.TwoWaySendPort()).Name)); }