Exemplo n.º 1
0
        static async Task Main(string[] args)
        {
            //string [] argss = {"http://localhost:8500;TestAPI;2000"};
            var host = ArgumentAnalyzer.Checker(args);

            if (host == null)
            {
                return;
            }

            do
            {
                var serviceList = await HealthChecker.GetServiceList(host);

                if (serviceList.Count < 1)
                {
                    Console.WriteLine($"Could not detect any service on : {host.ConsulServerAddress}");
                }

                foreach (var l in serviceList)
                {
                    if ((await HealthChecker.CheckWebApiHealth(l)) != 200)
                    {
                        await HealthChecker.RemoveService(host, l);
                    }
                    else
                    {
                        Console.WriteLine($"Health Check pass for ID: {l.Service.ID}");
                    }
                }

                await Task.Delay(TimeSpan.FromMilliseconds(host.Interval));
            }while (true);
        }
        public void GetInformationFromArgumentWorksOkForAddressModeIndirect2()
        {
            var argument = Constants.ArgumentAddressModeIndirect2;

            ArgumentAnalyzer.GetInformationFromArgument(
                argument,
                out var addressMode,
                out var value,
                out var extendedData
                );

            Assert.AreEqual(AddressMode.Indirect, addressMode);
            Assert.AreEqual(2, value.Value);
            Assert.AreEqual(0, extendedData.Value);
        }
        public void GetInformationFromArgumentWorksOkForAddressModeNotRecognized7()
        {
            var argument = Constants.ArgumentAddressModeNotRecognized7;

            ArgumentAnalyzer.GetInformationFromArgument(
                argument,
                out var addressMode,
                out var value,
                out var extendedData
                );

            Assert.AreEqual(AddressMode.NotRecognized, addressMode);
            Assert.AreEqual(0, value.Value);
            Assert.AreEqual(0, extendedData.Value);
        }
        public override void Initialize(AnalysisContext context)
        {
            var nameAnalyzer                 = new NameAnalyzer();
            var argumentAnalyzer             = new ArgumentAnalyzer();
            var returnTypeAnalyzer           = new ReturnTypeAnalyzer();
            var baseAnalyzer                 = new BaseFunctionAnalyzer();
            var orchestrationTriggerAnalyzer = new OrchestrationTriggerAnnotationAnalyzer();

            baseAnalyzer.RegisterAnalyzer(nameAnalyzer);
            baseAnalyzer.RegisterAnalyzer(argumentAnalyzer);
            baseAnalyzer.RegisterAnalyzer(returnTypeAnalyzer);
            context.RegisterSyntaxNodeAction(orchestrationTriggerAnalyzer.FindOrchestrationTriggers, SyntaxKind.Attribute);
            context.RegisterCompilationStartAction(c =>
            {
                c.RegisterCompilationEndAction(baseAnalyzer.ReportProblems);
                c.RegisterSyntaxNodeAction(baseAnalyzer.FindActivityCalls, SyntaxKind.InvocationExpression);
                c.RegisterSyntaxNodeAction(baseAnalyzer.FindActivities, SyntaxKind.Attribute);
            });
        }