public void ValidationHappensAfterEnvironmentOverrideApplication()
        {
            Skip.IfNot(BizTalkServerGroup.IsConfigured);

            using (new DeploymentContextInjectionScope(targetEnvironment: "ANYWHERE"))
            {
                IVisitable <IApplicationBindingVisitor> app = new ApplicationBinding(
                    ab => {
                    ab.Name = "Application";
                    ab.SendPorts.Add(new OneWaySendPort());
                });
                var visitor = new ApplicationBindingValidator();
                Invoking(() => app.Accept(visitor)).Should().NotThrow();
            }
        }
        private static ApplicationBinding ParseBindingString(string serverFqdnOrIp, string bindingString)
        {
            var binding = new ApplicationBinding {
                Protocol = FindProtocol(bindingString)
            };

            if (binding.Protocol == null)
            {
                return(binding);
            }

            var bindingTokens = bindingString.Remove(0, (binding.Protocol + "://").Length).Split(':');

            if (bindingTokens.Length > 0)
            {
                if (string.IsNullOrEmpty(bindingTokens[0]) ||
                    string.Equals(bindingTokens[0], "*", StringComparison.Ordinal))
                {
                    binding.HostnameOrIpAddress = serverFqdnOrIp;
                }
                else
                {
                    binding.HostnameOrIpAddress = bindingTokens[0];
                }
                if (binding.Protocol != null)
                {
                    if (bindingTokens.Length > 1)
                    {
                        ushort port;
                        ushort.TryParse(bindingTokens[1], out port);
                        binding.Port = port;
                    }
                    if (bindingTokens.Length > 2)
                    {
                        binding.HostForHeader = string.IsNullOrEmpty(bindingTokens[2]) ? null : bindingTokens[2];
                    }
                }
            }
            return(binding);
        }
Example #3
0
        public void GetBindingArtifactDisplayNameDoesNotReturnNameOfDslType()
        {
            var ab = new ApplicationBinding();

            Assert.That(ab.GetBindingArtifactDisplayName(), Is.Null);
        }
 private static bool IsHostMatchingBinding(ApplicationBinding binding, string host)
 {
     Debug.Assert(host != null);
     return(!string.IsNullOrEmpty(binding.HostForHeader) &&
            host.IndexOf(binding.HostForHeader, StringComparison.InvariantCultureIgnoreCase) >= 0);
 }