コード例 #1
0
 public XMLValidator(ISchemaValidator schemaValidator, IXmlConverter xmlConverter, IMemberRegistrationBusinessValidator businessValidator, IXmlErrorTranslator errorTranslator)
 {
     this.schemaValidator = schemaValidator;
     this.businessValidator = businessValidator;
     this.errorTranslator = errorTranslator;
     this.xmlConverter = xmlConverter;
 }
コード例 #2
0
 public XMLValidator(ISchemaValidator schemaValidator, IXmlConverter xmlConverter, IMemberRegistrationBusinessValidator businessValidator, IXmlErrorTranslator errorTranslator)
 {
     this.schemaValidator   = schemaValidator;
     this.businessValidator = businessValidator;
     this.errorTranslator   = errorTranslator;
     this.xmlConverter      = xmlConverter;
 }
コード例 #3
0
        public async Task Valid_Schema_Passes_Validation(string file, string validator)
        {
            var contents = await File.ReadAllTextAsync($"SharedTests\\{file}");

            ISchemaValidator schemavalidator = null;

            switch (validator)
            {
            case "avro":
                schemavalidator = new AvroSchemaValidator();
                break;

            case "json":
                schemavalidator = new JsonSchemaValidator();
                break;

            case "xsd":
                schemavalidator = new XsdSchemaValidator();
                break;

            case "proto3":
                schemavalidator = new Proto3SchemaValidator();
                break;

            case "openapi":
                schemavalidator = new OpenApiSchemaValidator();
                break;
            }
            var result = schemavalidator.Validate(contents);

            Assert.Equal(ValidationResult.Success, result);
        }
コード例 #4
0
ファイル: XmlValidatorTests.cs プロジェクト: DEFRA/prsd-weee
 public XMLValidatorTests()
 {
     schemaValidator   = A.Fake <ISchemaValidator>();
     businessValidator = A.Fake <IMemberRegistrationBusinessValidator>();
     xmlConverter      = A.Fake <IXmlConverter>();
     errorTranslator   = A.Fake <IXmlErrorTranslator>();
 }
コード例 #5
0
 public XMLValidatorTests()
 {
     schemaValidator = A.Fake<ISchemaValidator>();
     businessValidator = A.Fake<IMemberRegistrationBusinessValidator>();
     xmlConverter = A.Fake<IXmlConverter>();
     errorTranslator = A.Fake<IXmlErrorTranslator>();
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="DataStore"/> class.
 /// </summary>
 /// <param name="Connection">The data connection</param>
 public DataStore(IDataConnection Connection)
 {
     this.Connection            = Connection;
     this.ExecuteCommands       = new ExecuteCommands();
     this.SchemaValidator       = new ModifySchemaValidator(this);
     this.TypeInformationParser = new TypeParser(this);
     this.ObjectFinder          = new SupportsSchemaObjectFinder();
 }
コード例 #7
0
        private static async Task <bool> ValidateAsync(HttpRequestMessage request, ISchemaValidator validator, string path)
        {
            var payload = await request.Content.ReadAsStringAsync().ConfigureAwait(false);

            var validated = await validator.ValidateAsync(payload, path).ConfigureAwait(false);

            return(validated);
        }
コード例 #8
0
 public void CreateSubstitutes()
 {
     ReqExecutor = Substitute.For <IGraphQLRequestExecutor>();
     ReqBuilder  = Substitute.For <IRequestBuilder>();
     ResBuilder  = Substitute.For <IResultBuilder>();
     SchemaProv  = Substitute.For <IPartialSchemaProvider>();
     Validator   = Substitute.For <ISchemaValidator>();
 }
コード例 #9
0
 public RequestProcessor(Configuration configuration, IValueProvider valueProvider,
                         ISchemaValidator schemaValidator)
 {
     _configuration   = configuration;
     _valueProvider   = valueProvider;
     _schemaValidator = schemaValidator;
     _messages        = LoadMessages(_configuration);
 }
コード例 #10
0
 public FileGenerator(ISchemaValidator schemaValidator,
                      IFileWriter fileWriter,
                      string rootFolder)
 {
     _schemaValidator = schemaValidator;
     _fileWriter      = fileWriter;
     _rootFolder      = rootFolder;
 }
コード例 #11
0
 public GraphSchemaIOClient(
     IGraphQLRequestExecutor requestExecutor,
     IRequestBuilder requestBuilder,
     IResultBuilder resultBuilder,
     IPartialSchemaProvider partialSchemaProvider,
     ISchemaValidator schemaValidator) : base(requestExecutor, requestBuilder, resultBuilder, partialSchemaProvider, schemaValidator)
 {
 }
コード例 #12
0
        /// <summary>
        /// Initializes a new instance of the <see cref="DataStore"/> class.
        /// </summary>
        /// <param name="Connection">The data connection</param>
        public DataStore(IDataConnection Connection)
        {
            this.Connection = Connection;
            this.Connection.CommandGenerator.TypeParser.OnTypeParsed += TypeParser_OnTypeParsed;

            this.ExecuteCommands = new ExecuteCommands();
            this.SchemaValidator = new ModifySchemaValidator(this);
            this.ObjectFinder    = new SupportsSchemaObjectFinder();
        }
コード例 #13
0
 public EventConsumer(IAdvancedBus messageBus, IEventDispatcher eventDispatcher, ISchemaValidator schemaValidator, string boundedContextName,
                      string subscriberId)
 {
     _messageBus         = messageBus;
     _eventDispatcher    = eventDispatcher;
     _schemaValidator    = schemaValidator;
     _boundedContextName = boundedContextName;
     _subscriberId       = subscriberId;
 }
コード例 #14
0
        /// <summary>
        /// Validates the payload against the schema from the sink.
        /// </summary>
        /// <param name="payload">JSON payload.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="path">Schema path in the sink.</param>
        /// <returns>Returns the payload, if the payload is valid; otherwise throws <see cref="SchemaValidationException"/>.</returns>
        public static async Task <string> ValidateAsStringAsync(this string payload, ISchemaValidator validator, string path)
        {
            payload.ThrowIfNullOrWhiteSpace();
            validator.ThrowIfNullOrDefault();
            path.ThrowIfNullOrWhiteSpace();

            var validated = await validator.ValidateAsync(payload, path).ConfigureAwait(false);

            return(payload);
        }
コード例 #15
0
 public ClassesController(IStudentProvider studentProvider, IClassProvider classProvider, ISchemaValidator <Class> classSchemaValidator, ISearchProvider searchProvider,
                          ISchemaValidator <ClassUpdateRequest> classUpdateReqSchemaValidator)
 //IFirehoseProvider firehoseProvider)
 {
     _studentProvider = studentProvider;
     _classProvider   = classProvider;
     // _firehoseProvider = firehoseProvider;
     _searchProvider                = searchProvider;
     _classSchemaValidator          = classSchemaValidator;
     _classUpdateReqSchemaValidator = classUpdateReqSchemaValidator;
 }
コード例 #16
0
 public StudentsController(IStudentProvider studentProvider, IClassProvider classProvider, ISchemaValidator <Student> studentSchemaValidator, ISearchProvider searchProvider,
                           ISchemaValidator <StudentUpdateRequest> studentUpdateReqSchemaValidator)
 //,  IFirehoseProvider firehoseProvider)
 {
     _studentProvider = studentProvider;
     _classProvider   = classProvider;
     //_firehoseProvider = firehoseProvider;
     _searchProvider                  = searchProvider;
     _studentSchemaValidator          = studentSchemaValidator;
     _studentUpdateReqSchemaValidator = studentUpdateReqSchemaValidator;
 }
コード例 #17
0
 public GraphQLClient(
     IGraphQLRequestExecutor requestExecutor,
     IRequestBuilder requestBuilder,
     IResultBuilder resultBuilder,
     IPartialSchemaProvider partialSchemaProvider,
     ISchemaValidator schemaValidator
     )
 {
     RequestExecutor       = requestExecutor;
     RequestBuilder        = requestBuilder;
     PartialSchemaProvider = partialSchemaProvider;
     SchemaValidator       = schemaValidator;
     ResultBuilder         = resultBuilder;
 }
コード例 #18
0
 /// <summary>
 /// DaprEventBus constructor.
 /// </summary>
 /// <param name="dapr">Client for interacting with Dapr endpoints.</param>
 /// <param name="schemaGenerator">Schema generator.</param>
 /// <param name="schemaValidator">Schema validator.</param>
 /// <param name="schemaRegistry">Schema registry.</param>
 /// <param name="daprEventBusOptions">DaprEventBus options.</param>
 /// <param name="daprEventBusSchemaOptions">Schema registry options.</param>
 /// <param name="logger">Logger for DaprEventBus.</param>
 public DaprEventBusWithSchemaRegistry(
     DaprClient dapr,
     ISchemaGenerator schemaGenerator,
     ISchemaValidator schemaValidator,
     ISchemaRegistry schemaRegistry,
     IOptions <DaprEventBusOptions> daprEventBusOptions,
     IOptions <DaprEventBusSchemaOptions> daprEventBusSchemaOptions,
     ILogger <DaprEventBusWithSchemaRegistry> logger) : base(dapr, daprEventBusOptions)
 {
     _schemaGenerator           = schemaGenerator ?? throw new ArgumentNullException(nameof(schemaGenerator));
     _schemaValidator           = schemaValidator ?? throw new ArgumentNullException(nameof(schemaValidator));
     _schemaRegistry            = schemaRegistry ?? throw new ArgumentNullException(nameof(schemaRegistry));
     _daprEventBusSchemaOptions = daprEventBusSchemaOptions ?? throw new ArgumentNullException(nameof(daprEventBusSchemaOptions));
     _logger = logger;
 }
コード例 #19
0
        /// <summary>
        /// Sends the GET request to the given URI.
        /// </summary>
        /// <param name="httpClient"><see cref="System.Net.Http.HttpClient"/> instance.</param>
        /// <param name="requestUri">Request URI.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="path">Schema path.</param>
        /// <returns>Returns the string response.</returns>
        public static async Task <string> GetStringAsync(this System.Net.Http.HttpClient httpClient, Uri requestUri, ISchemaValidator validator, string path)
        {
            httpClient.ThrowIfNullOrDefault();
            requestUri.ThrowIfNullOrDefault();
            validator.ThrowIfNullOrDefault();
            path.ThrowIfNullOrWhiteSpace();

            var payload = await httpClient.GetStringAsync(requestUri).ConfigureAwait(false);

            await ValidateAsync(payload, validator, path).ConfigureAwait(false);

            return(payload);
        }
コード例 #20
0
        /// <summary>
        /// Sends the <see cref="HttpRequestMessage"/> instance.
        /// </summary>
        /// <param name="httpClient"><see cref="System.Net.Http.HttpClient"/> instance.</param>
        /// <param name="request"><see cref="HttpRequestMessage"/> instance.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="path">Schema path.</param>
        /// <param name="cancellationToken"><see cref="CancellationToken"/> instance.</param>
        /// <returns>Returns <see cref="HttpResponseMessage"/> instance.</returns>
        public static async Task <HttpResponseMessage> SendAsync(this System.Net.Http.HttpClient httpClient, HttpRequestMessage request, ISchemaValidator validator, string path, CancellationToken cancellationToken)
        {
            httpClient.ThrowIfNullOrDefault();
            request.ThrowIfNullOrDefault();
            cancellationToken.ThrowIfNullOrDefault();
            validator.ThrowIfNullOrDefault();
            path.ThrowIfNullOrWhiteSpace();

            if (!request.Method.IsSupported())
            {
                return(new HttpResponseMessage(HttpStatusCode.MethodNotAllowed));
            }

            if (request.Method != HttpMethod.Get)
            {
                await ValidateAsync(request, validator, path).ConfigureAwait(false);
            }

            var response = await httpClient.SendAsync(request, cancellationToken).ConfigureAwait(false);

            response.EnsureSuccessStatusCode();

            if (request.Method == HttpMethod.Get)
            {
                await ValidateAsync(response, validator, path).ConfigureAwait(false);

                return(response);
            }

            return(response);
        }
 public ServiceBusTopicSubscriptionTrigger(ISchemaValidator validator)
 {
     this._validator = validator ?? throw new ArgumentNullException(nameof(validator));
 }
コード例 #22
0
        /// <inheritdoc />
        public virtual ServiceBusPlugin WithValidator(ISchemaValidator validator)
        {
            this.Validator = validator.ThrowIfNullOrDefault();

            return(this);
        }
        /// <summary>
        /// Validates the message against the schema from the given path.
        /// </summary>
        /// <param name="message"><see cref="BrokeredMessage"/> instance.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="schemaPathPropertyKey">Property key for the schema path.</param>
        /// <returns>Returns the <see cref="BrokeredMessage"/> instance, if validated; otherwise throws an exception.</returns>
        public static async Task <BrokeredMessage> ValidateAsync(this BrokeredMessage message, ISchemaValidator validator, string schemaPathPropertyKey = "schemaPath")
        {
            message.ThrowIfNullOrDefault();
            validator.ThrowIfNullOrDefault();
            schemaPathPropertyKey.ThrowIfNullOrWhiteSpace();

            var cloned = message.Clone();

            var payload = default(string);

            using (var stream = cloned.GetBody <Stream>())
                using (var reader = new StreamReader(stream))
                {
                    payload = await reader.ReadToEndAsync().ConfigureAwait(false);
                }

            if (payload.IsNullOrWhiteSpace())
            {
                throw new MessageBodyZeroLengthException().WithServiceBusMessage(cloned);
            }

            var path = cloned.Properties[schemaPathPropertyKey] as string;

            if (path.IsNullOrWhiteSpace())
            {
                throw new SchemaPathNotExistException().WithServiceBusMessage(cloned);
            }

            var validated = await validator.ValidateAsync(payload, path).ConfigureAwait(false);

            return(message);
        }
コード例 #24
0
 public ImportAgentXmlLoader(IAppLogger <ImportAgentXmlLoader> logger, IFileReader reader, ISchemaValidator schemaValidator)
 {
     _reader          = reader;
     _schemaValidator = schemaValidator;
     _logger          = logger;
 }
コード例 #25
0
ファイル: PayloadValidator.cs プロジェクト: yshadmehr/Ntrada
 public PayloadValidator(ISchemaValidator schemaValidator)
 {
     _schemaValidator = schemaValidator;
 }
コード例 #26
0
 public GenerateFromXmlBuilder()
 {
     XmlConverter       = A.Fake <IXmlConverter>();
     SchemaValidator    = A.Fake <ISchemaValidator>();
     XmlErrorTranslator = A.Fake <IXmlErrorTranslator>();
 }
コード例 #27
0
 public GenerateFromDataReturnXml(ISchemaValidator schemaValidator, IXmlConverter xmlConverter, IXmlErrorTranslator errorTranslator)
 {
     this.schemaValidator = schemaValidator;
     this.errorTranslator = errorTranslator;
     this.xmlConverter    = xmlConverter;
 }
コード例 #28
0
        /// <summary>
        /// Sends the PUT request to the given URI.
        /// </summary>
        /// <param name="httpClient"><see cref="System.Net.Http.HttpClient"/> instance.</param>
        /// <param name="requestUri">Request URI.</param>
        /// <param name="content"><see cref="HttpContent"/> instance.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="path">Schema path.</param>
        /// <returns>Returns <see cref="HttpResponseMessage"/> instance.</returns>
        public static async Task <HttpResponseMessage> PutAsync(this System.Net.Http.HttpClient httpClient, Uri requestUri, HttpContent content, ISchemaValidator validator, string path)
        {
            httpClient.ThrowIfNullOrDefault();
            requestUri.ThrowIfNullOrDefault();
            content.ThrowIfNullOrDefault();
            validator.ThrowIfNullOrDefault();
            path.ThrowIfNullOrWhiteSpace();

            await ValidateAsync(content, validator, path).ConfigureAwait(false);

            var response = await httpClient.PutAsync(requestUri, content).ConfigureAwait(false);

            response.EnsureSuccessStatusCode();

            return(response);
        }
        /// <summary>
        /// Validates the message against the schema from the given path.
        /// </summary>
        /// <param name="message"><see cref="BrokeredMessage"/> instance.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="schemaPathPropertyKey">Property key for the schema path.</param>
        /// <returns>Returns the <see cref="BrokeredMessage"/> instance, if validated; otherwise throws an exception.</returns>
        public static async Task <BrokeredMessage> ValidateAsync(this Task <BrokeredMessage> message, ISchemaValidator validator, string schemaPathPropertyKey = "schemaPath")
        {
            var instance = await message.ConfigureAwait(false);

            return(await instance.ValidateAsync(validator, schemaPathPropertyKey).ConfigureAwait(false));
        }
コード例 #30
0
 public GenerateFromXmlBuilder()
 {
     XmlConverter = A.Fake<IXmlConverter>();
     SchemaValidator = A.Fake<ISchemaValidator>();
     XmlErrorTranslator = A.Fake<IXmlErrorTranslator>();
 }
コード例 #31
0
        /// <summary>
        /// Sends the GET request to the given URI.
        /// </summary>
        /// <param name="httpClient"><see cref="System.Net.Http.HttpClient"/> instance.</param>
        /// <param name="requestUri">Request URI.</param>
        /// <param name="completionOption"><see cref="HttpCompletionOption"/> instance.</param>
        /// <param name="validator"><see cref="ISchemaValidator"/> instance.</param>
        /// <param name="path">Schema path.</param>
        /// <param name="cancellationToken"><see cref="CancellationToken"/> instance.</param>
        /// <returns>Returns <see cref="HttpResponseMessage"/> instance.</returns>
        public static async Task <HttpResponseMessage> GetAsync(this System.Net.Http.HttpClient httpClient, string requestUri, HttpCompletionOption completionOption, ISchemaValidator validator, string path, CancellationToken cancellationToken)
        {
            httpClient.ThrowIfNullOrDefault();
            requestUri.ThrowIfNullOrWhiteSpace();
            validator.ThrowIfNullOrDefault();
            path.ThrowIfNullOrWhiteSpace();
            cancellationToken.ThrowIfNullOrDefault();

            var response = await httpClient.GetAsync(requestUri, completionOption, cancellationToken).ConfigureAwait(false);

            response.EnsureSuccessStatusCode();

            await ValidateAsync(response, validator, path).ConfigureAwait(false);

            return(response);
        }
コード例 #32
0
 public ServiceBusTopicPublishHttpTrigger(JsonSerializerSettings settings, ISchemaValidator validator)
 {
     this._settings  = settings ?? throw new ArgumentNullException(nameof(settings));
     this._validator = validator ?? throw new ArgumentNullException(nameof(validator));
 }
コード例 #33
0
        private static async Task <bool> ValidateAsync(string payload, ISchemaValidator validator, string path)
        {
            var validated = await validator.ValidateAsync(payload, path).ConfigureAwait(false);

            return(validated);
        }