/// <summary> /// /// </summary> /// <param name="executionRequest"></param> /// <returns></returns> /// <exception cref="ArgumentNullException"></exception> public ITest TestNameToType(ScheduleExecutionRequest executionRequest) { if (string.IsNullOrWhiteSpace(executionRequest.TestName)) { throw new ArgumentNullException(nameof(executionRequest.TestName), "A TestName must be provided."); } var tests = _provider.GetServices <ITest>(); return(tests.FirstOrDefault(test => test.GetType().Name.Equals(executionRequest.TestName))); }
public ActionResult Post([FromBody] ScheduleExecutionRequest value) { var uriPath = Request.Path.ToUriComponent(); try { var test = _testResolver.TestNameToType(value); var result = _testExecutor.Execute(test); return(Created($"{uriPath}/{result.Id}", result)); } catch (ArgumentNullException e) { var details = new Dictionary <string, string> { { "Message", e.Message } }; return(BadRequest(details)); } }