Beispiel #1
0
        /// <inheritdoc />
        public async Task <HerculesResult> CreateStreamAsync(CreateStreamQuery query, TimeSpan timeout)
        {
            var dto = new StreamDescriptionDto(query);

            var request = Request
                          .Post("streams/create")
                          .WithHeader("apiKey", getApiKey())
                          .WithHeader("Content-Type", "application/json")
                          .WithContent(JsonConvert.SerializeObject(dto, settings));

            var clusterResult = await client.SendAsync(request, timeout).ConfigureAwait(false);

            var herculesStatus = clusterResult.Status != ClusterResultStatus.Success
                ? ConvertFailureToHerculesStatus(clusterResult.Status)
                : ConvertResponseCodeToHerculesStatusForStream(clusterResult.Response.Code);

            return(new HerculesResult(herculesStatus));
        }
        public void Should_convert_stream_creation_query_to_dto_and_back_to_description(
            [Values(StreamType.Base, StreamType.Derived)]
            StreamType type)
        {
            var query = new CreateStreamQuery("my-stream")
            {
                Type        = type,
                TTL         = 2.Days(),
                Partitions  = 35,
                ShardingKey = new[] { "key" },
                Sources     = new[] { "foo", "bar" }
            };

            var dto = StreamDescriptionDtoConverter.CreateFromQuery(query);

            var description = StreamDescriptionDtoConverter.ConvertToDescription(dto);

            description.Should().BeEquivalentTo(query);
        }
Beispiel #3
0
 public static HerculesResult CreateStream(
     [NotNull] this IHerculesManagementClient client,
     [NotNull] CreateStreamQuery query,
     TimeSpan timeout) =>
 client.CreateStreamAsync(query, timeout).GetAwaiter().GetResult();
Beispiel #4
0
 /// <inheritdoc />
 public Task <HerculesResult> CreateStreamAsync(CreateStreamQuery query, TimeSpan timeout)
 => SendAsync(
     Request.Post("streams/create"),
     StreamDescriptionDtoConverter.CreateFromQuery(query),
     timeout,
     StreamAnalyzer);