public static void Validate(IContainPort instance)
        {
            if ((1 > instance.Port) || (49151 < instance.Port))
            {
                throw new EngineValidationException("Port number is not between 1 and 65535");
            }

            if (!PortUtils.CheckAvailable(instance.Port))
            {
                throw new EngineValidationException($"Port {instance.Port} is not available");
            }
        }
        public static void Validate(IHttpInstance instance)
        {
            if (instance.Port < 1 || instance.Port > 49151)
            {
                throw new EngineValidationException("Port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.Port))
            {
                throw new EngineValidationException($"Port {instance.Port} is not available");
            }
        }
Exemple #3
0
        public static IRuleBuilderOptions <T, string> PortAvailable <T>(this IRuleBuilder <T, string> ruleBuilder)
        {
            return(ruleBuilder.Must((t, port) =>
            {
                if (int.TryParse(port, out var result))
                {
                    return PortUtils.CheckAvailable(result);
                }

                return false;
            })
                   .WithMessage(MSG_PORT_IN_USE));
        }
        public static void Validate(IDatabaseMaintenanceSupport instance)
        {
            if (!instance.DatabaseMaintenancePort.HasValue)
            {
                throw new EngineValidationException("Maintenance port number is not set");
            }

            if (instance.DatabaseMaintenancePort < 1 || instance.DatabaseMaintenancePort > 49151)
            {
                throw new EngineValidationException("Maintenance port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.DatabaseMaintenancePort.Value))
            {
                throw new EngineValidationException($"Port {instance.DatabaseMaintenancePort} is not available");
            }
        }
 protected override void ProcessRecord()
 {
     foreach (var port in Port)
     {
         try
         {
             WriteObject(new PsPortAvailability
             {
                 Port      = port,
                 Available = PortUtils.CheckAvailable(port)
             });
         }
         catch (Exception ex)
         {
             WriteError(new ErrorRecord(ex, null, ErrorCategory.InvalidOperation, port));
         }
     }
 }
        public static void Validate(IServiceControlInstance instance)
        {
            if (instance.Version < SettingsList.DatabaseMaintenancePort.SupportedFrom)
            {
                return;
            }

            if (!instance.DatabaseMaintenancePort.HasValue)
            {
                throw new EngineValidationException("Maintenance port number is not set");
            }

            if (instance.DatabaseMaintenancePort < 1 || instance.DatabaseMaintenancePort > 49151)
            {
                throw new EngineValidationException("Maintenance port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.DatabaseMaintenancePort.Value))
            {
                throw new EngineValidationException($"Port {instance.DatabaseMaintenancePort} is not available");
            }
        }
        public static void Validate(IServiceControlInstance instance)
        {
            if (instance.Version.Major < 2) //Maintenance port was introduced in Version 2
            {
                return;
            }

            if (!instance.DatabaseMaintenancePort.HasValue)
            {
                throw new EngineValidationException("Maintenance port number is not set");
            }

            if (instance.DatabaseMaintenancePort < 1 || instance.DatabaseMaintenancePort > 49151)
            {
                throw new EngineValidationException("Maintenance port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.DatabaseMaintenancePort.Value))
            {
                throw new EngineValidationException($"Port {instance.DatabaseMaintenancePort} is not available");
            }
        }
 public void TestIsPortAvailable()
 {
     Assert.DoesNotThrow(() => PortUtils.CheckAvailable(10000), "Port 10000 wasn't available"); // A Random Port
     Assert.Throws <Exception>(() => PortUtils.CheckAvailable(9090), "Port 9090 is available"); // ServicePulse
 }