Example #1
0
        public static async Task TestAlgoliaMonitoringClient()
        {
            System.Console.WriteLine("~~*\\#/*~~ Algolia Client API playground to test the MonitoringClient ~~*\\#/*~~");

            System.Console.WriteLine("please enter Algolia applicationId: ");
            var applicationId = System.Console.ReadLine();

            System.Console.WriteLine("please enter Algolia monitoringApiKey: ");
            var monitoringApiKey = System.Console.ReadLine();



            var client = new MonitoringClient(applicationId, monitoringApiKey);


            System.Console.WriteLine($"{Environment.NewLine}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.Console.WriteLine("### Algolia Monitoring API - Status - Get current ###");

            GetServerStatusResponse response1 = null;

            try
            {
                response1 = await client.GetServerStatusAsync();

                System.Console.WriteLine("*** results below ***");
                Program.DisplayServerStatusResponse(response1);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine($"Oops ! there was a problem.");
                System.Console.WriteLine(ex.Message);
                System.Console.WriteLine($".... let's keep running the program anyway !");
            }

            System.Console.WriteLine($"{Environment.NewLine}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.Console.WriteLine("### Algolia Monitoring API - Status - Get current servers ###");
            Program.DisplayUsage();

            GetServerStatusResponse response2 = null;

            while (response2 == null)
            {
                System.Console.WriteLine("You turn to enter server name(s) now: ");
                // almost no input validation done here at the console level
                var serverNameInput = System.Console.ReadLine();

                try
                {
                    response2 = await client.GetServerStatusAsync(serverNameInput);

                    System.Console.WriteLine("*** results below ***");
                    Program.DisplayServerStatusResponse(response2);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine($"Oops ! there was a problem.");
                    System.Console.WriteLine(ex.Message);
                    System.Console.WriteLine($".... let's keep running the program anyway !");
                }
            }



            System.Console.WriteLine($"{Environment.NewLine}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.Console.WriteLine("### Algolia Monitoring API - Incident - List last incidents  ###");

            ListServerIncidentsResponse response3 = null;

            try
            {
                response3 = await client.ListIncidentsAsync();

                System.Console.WriteLine("*** results below ***");
                Program.DisplayServerIncidentsResponse(response3);
            }
            catch (Exception ex)
            {
                System.Console.WriteLine($"Oops ! there was a problem.");
                System.Console.WriteLine(ex.Message);
                System.Console.WriteLine($".... let's keep running the program anyway !");
            }

            System.Console.WriteLine($"{Environment.NewLine}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.Console.WriteLine("### Algolia Monitoring API - Incident - List last incidents for servers ###");
            Program.DisplayUsage();

            ListServerIncidentsResponse response4 = null;

            while (response4 == null)
            {
                System.Console.WriteLine("You turn to enter server name(s) now: ");
                // almost no input validation done here at the console level
                var serverNameInput = System.Console.ReadLine();

                try
                {
                    response4 = await client.ListIncidentsAsync(serverNameInput);

                    System.Console.WriteLine("*** results below ***");
                    Program.DisplayServerIncidentsResponse(response4);
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine($"Oops ! there was a problem.");
                    System.Console.WriteLine(ex.Message);
                    System.Console.WriteLine($".... let's keep running the program anyway !");
                }
            }

            System.Console.WriteLine($"{Environment.NewLine}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
            System.Console.WriteLine($"We are done. See you soon !");
        }