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 !"); }