/// <summary> /// Validates the mock API resource. /// </summary> /// <param name="mockApi">The mock API.</param> /// <exception cref="ValidationException"></exception> public static void ValidateMockApiResource(MockApiResourceModel mockApi, ILanguageBindingFactory languageBindingFactory) { List <string> errors = new List <string>(); // verify name if (IsNameInvalid(mockApi.Name)) { errors.Add(Constants.InvalidMockApiNameMessage); } // verify verb if (mockApi.Verb == MockApiHttpVerb.None) { errors.Add(Constants.InvalidApiVerbMessage); } // verify body var sourceValidator = languageBindingFactory.CreateLanguageValidator(mockApi.Language); try { sourceValidator.Validate(mockApi.Body); } catch (ValidationException ex) { errors.AddRange(ex.Errors); } // verify route template if (RouteUtil.IsInvalidRouteTemplate(mockApi.RouteTemplate)) { errors.Add(Constants.InvalidApiTempateMessage); } if (errors.Count > 0) { throw new ValidationException(errors); } }
/// <summary> /// Initializes a new instance of the <see cref="AddMockApiService" /> class. /// </summary> /// <param name="logger">The logger.</param> /// <param name="mockApiRepo">The mock API repo.</param> /// <param name="languageBindingFactory">The language binding factory.</param> public AddMockApiService(ILogger logger, IMockApiRepository mockApiRepo, ILanguageBindingFactory languageBindingFactory) : base(logger, mockApiRepo) { this.languageBindingFactory = languageBindingFactory; }