Esempio n. 1
0
        private async Task <VostokApplicationRunResult> InitializeApplicationAsync()
        {
            log.Info("Initializing application.");
            ChangeStateTo(VostokApplicationState.Initializing);

            try
            {
                RequirementsChecker.Check(settings.Application, environment);

                var initializationResult = await RunPhaseAsync(true).ConfigureAwait(false);

                if (initializationResult.State != VostokApplicationState.Initialized)
                {
                    return(initializationResult);
                }

                environment.ServiceBeacon.Start();
                var beaconStarted = await WaitForServiceBeaconRegistrationIfNeededAsync(environment.ServiceBeacon).ConfigureAwait(false);

                if (!beaconStarted)
                {
                    return(ReturnResult(VostokApplicationState.CrashedDuringInitialization, new Exception($"Service beacon hasn't registered in '{settings.BeaconRegistrationTimeout}'.")));
                }

                return(initializationResult);
            }
            catch (Exception error)
            {
                log.Error(error, "Unhandled exception has occurred while initializing the application.");
                return(ReturnResult(VostokApplicationState.CrashedDuringInitialization, error));
            }
        }
Esempio n. 2
0
        private void ShouldFail()
        {
            RequirementsChecker.TryCheck(application, environment, out var errors).Should().BeFalse();

            errors.Should().NotBeEmpty();

            Console.Out.WriteLine(string.Join(Environment.NewLine, errors));
        }
Esempio n. 3
0
        private async Task <VostokApplicationRunResult> InitializeApplicationAsync()
        {
            log.Info("Initializing application.");
            ChangeStateTo(VostokApplicationState.Initializing);

            try
            {
                RequirementsChecker.Check(settings.Application.GetType(), environment);

                return(await RunPhaseAsync(true).ConfigureAwait(false));
            }
            catch (Exception error)
            {
                log.Error(error, "Unhandled exception has occurred while initializing the application.");
                return(ReturnResult(VostokApplicationState.CrashedDuringInitialization, error));
            }
        }
Esempio n. 4
0
 public void Should_succeed_if_all_requirements_are_met()
 => RequirementsChecker.Check(application, environment);