Example #1
0
        public override async Task <bool> IsHealthy()
        {
            var sp = new Stopwatch();

            sp.Start();
            Logger.Log($"TCP health check of {ServiceName} on port {_servicePort} has been started..");
            var attempts = 1;

            while (sp.Elapsed.Seconds < TimeoutInSeconds)
            {
                var isAvailable = await PortAvailabilityChecker.IsAvailable(_servicePort);

                var result = isAvailable ? "successful" : "failed";
                Logger.Log($"{attempts} TCP health check of {ServiceName} on port {_servicePort} was {result}");
                if (isAvailable)
                {
                    Logger.Log($"TCP health check of {ServiceName} returns success");
                    return(true);
                }

                attempts++;
            }

            var exceptionMessage = $"Health check failed! Service {ServiceName} was not available on port number {_servicePort} after {TimeoutInSeconds} seconds.";

            Logger.Log(exceptionMessage);
            throw new WaitForDockerException(exceptionMessage);
        }
Example #2
0
        private static async Task GetPreComposeCheck(ServicePort servicePort, ILogger logger)
        {
            var isServiceUp = await PortAvailabilityChecker.IsAvailable(servicePort.Port);

            logger.Log((isServiceUp ? "Warning! " : string.Empty) +
                       $"service {servicePort.Name} on port: {servicePort.Port} was " +
                       (isServiceUp ? string.Empty : "not ") + "occupied before docker compose execution");
        }