Ejemplo n.º 1
0
        /// <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)));
        }
Ejemplo n.º 2
0
        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));
            }
        }