public void MonitoredService_Parse() { MonitoredService service; service = new MonitoredService("http://myservice.com"); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsTrue(service.IsCritical); service = new MonitoredService("http://myservice.com,CRITICAL"); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsTrue(service.IsCritical); service = new MonitoredService("http://myservice.com,critical"); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsTrue(service.IsCritical); service = new MonitoredService(" http://myservice.com , CRITICAL "); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsTrue(service.IsCritical); service = new MonitoredService("http://myservice.com,NONCRITICAL"); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsFalse(service.IsCritical); service = new MonitoredService("http://myservice.com,noncritical"); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsFalse(service.IsCritical); service = new MonitoredService(" http://myservice.com , NONCRITICAL "); Assert.AreEqual(new Uri("http://myservice.com"), service.Uri); Assert.IsFalse(service.IsCritical); }
public async Task <MonitoredService> AddMonitoredService(MonitoredService service) { MonitoredServices.Insert(service); await Context.SaveAsync(); return(service); }
public async Task <MonitoredService> UpdateMonitoredService(MonitoredService service) { MonitoredServices.Update(service); await Context.SaveAsync(); return(service); }
public async Task <bool> Check(MonitoredService service, string identifier) { var url = ""; if (identifier.StartsWith("http:", StringComparison.InvariantCultureIgnoreCase)) { url += "http://"; } else if (identifier.StartsWith("https:", StringComparison.InvariantCultureIgnoreCase)) { url += "https://"; } else { throw new ArgumentException("The identifier doenst provide a valid url schema " + identifier, "identifier"); } url += service.Address; url += identifier.Split(':').Last(); var uri = new Uri(url); using (var client = new WebClient()) { try { await client.DownloadStringTaskAsync(uri); return(true); } catch (Exception) { return(false); } } }
public async Task <bool> Check(MonitoredService service, string identifier) { using (var ping = new Ping()) { var pingResult = await ping.SendPingAsync(service.Address); return(pingResult != null && pingResult.Status == IPStatus.Success); } }
private static BaseMonitoredObj CreateMonitoredService(MonitoredObjConfig config) { var monitoredObj = new MonitoredService { Name = config.Name, Desc = config.Desc, Remote = config.Remote, Watched = config.Watched, HasLog = false, MachineName = config.Property1 }; return(monitoredObj); }