public void AddPerfDataItemTest() { var perfDataItem = new PerfDataItem { CpuLoad = GetCpuUsage(), RamLoad = GetRamUsage(), ServerName = Environment.MachineName }; var addPerfDataItemController = new AddPerfDataItemController(); var result = addPerfDataItemController.Post(perfDataItem) as OkNegotiatedContentResult<PerfDataItem>; Assert.IsNotNull(result); Assert.AreEqual(perfDataItem, result.Content); }
public IHttpActionResult Post(PerfDataItem item) { string errMsg; if (!ValidateData(out errMsg, item)) { return BadRequest(errMsg); } CacheManager.AddPerfDataItem(item); return Ok(item); }
private bool ValidateData(out string outputMessage, PerfDataItem item) { outputMessage = string.Empty; if (item == null) { outputMessage = "PerfDataItem is null. Please pass PerfDataItem"; return false; } if (string.IsNullOrEmpty(item.ServerName)) { outputMessage = "ServerName has not been passed. Please pass ServerName as a part of PerfDataItem."; return false; } return true; }
public static void AddPerfDataItem(PerfDataItem item) { // Using ConcurrentBag makes it thread safe even if multiple threads access it. _perfDataItemList.Add(item); }