Example #1
0
        public IWriteResult Add(IWriteResult priorWriteResult)
        {
            var prior = priorWriteResult as WriteResult;

            if (prior == null)
            {
                return(this);
            }

            if (prior.IsComplete)
            {
                IsComplete = true;
            }

            if (prior._tasksToWaitFor != null && prior._tasksToWaitFor.Length > 0)
            {
                if (_tasksToWaitFor == null)
                {
                    _tasksToWaitFor = prior._tasksToWaitFor;
                }
                else
                {
                    _tasksToWaitFor = _tasksToWaitFor.Concat(prior._tasksToWaitFor).ToArray();
                }
            }

            priorWriteResult.Dispose();
            return(this);
        }
Example #2
0
 protected virtual IWriteResult WriteChildren(IJavascriptWriter writer, IWriteResult writeResult)
 {
     for (var i = 0; !writeResult.IsComplete && i < Children.Length; i++)
     {
         writeResult.Add(Children[i].WriteScripts(writer));
     }
     return(writeResult);
 }
        public async Task reads_all_existing_filtered_events_from_specified_start(string filterName)
        {
            var streamPrefix = $"{filterName}-{_fixture.GetStreamName()}";

            var(getFilter, prepareEvent) = Filters.GetFilter(filterName);
            var filter = getFilter(streamPrefix);

            var          appeared             = new TaskCompletionSource <bool>();
            var          appearedEvents       = new List <EventRecord>();
            var          events               = _fixture.CreateTestEvents(20).Select(e => prepareEvent(streamPrefix, e)).ToArray();
            var          eventsToSkip         = events.Take(10).ToArray();
            var          eventsToCapture      = events.Skip(10).ToArray();
            IWriteResult eventToCaptureResult = null;

            foreach (var e in eventsToSkip)
            {
                await _fixture.StreamsClient.AppendToStreamAsync($"{streamPrefix}_{Guid.NewGuid():n}",
                                                                 StreamState.NoStream, new[] { e });
            }
            foreach (var e in eventsToCapture)
            {
                var result = await _fixture.StreamsClient.AppendToStreamAsync($"{streamPrefix}_{Guid.NewGuid():n}",
                                                                              StreamState.NoStream, new[] { e });

                eventToCaptureResult ??= result;
            }

            await _fixture.Client.CreateToAllAsync(filterName, filter,
                                                   new PersistentSubscriptionSettings(startFrom : eventToCaptureResult.LogPosition),
                                                   TestCredentials.Root);

            using var subscription = await _fixture.Client.SubscribeToAllAsync(filterName,
                                                                               eventAppeared : (s, e, r, ct) => {
                appearedEvents.Add(e.Event);
                if (appearedEvents.Count >= eventsToCapture.Length)
                {
                    appeared.TrySetResult(true);
                }
                return(Task.CompletedTask);
            },
                                                                               userCredentials : TestCredentials.Root)
                                     .WithTimeout();

            await Task.WhenAll(appeared.Task).WithTimeout();

            Assert.Equal(eventsToCapture.Select(x => x.EventId), appearedEvents.Select(x => x.EventId));
        }
 IWriteResult IWriteResult.Add(IWriteResult priorWriteResult)
 {
     return(this);
 }
Example #5
0
 public static IWriteResult OptionallyThrowWrongExpectedVersionException(this IWriteResult writeResult,
                                                                         EventStoreClientOperationOptions options) =>
 (options.ThrowOnAppendFailure, writeResult) switch
 protected override async Task When()
 {
     Result = await Client.AppendToStreamAsync("stream-1", StreamState.NoStream,
                                               CreateTestEvents());
 }
 public static ConditionalWriteResult FromWriteResult(IWriteResult writeResult)
 => writeResult switch
 {
Example #8
0
 public IWriteResult Add(IWriteResult priorWriteResult)
 {
     return(priorWriteResult);
 }
Example #9
0
 internal static ConditionalWriteResult FromWriteResult(IWriteResult writeResult)
 => writeResult switch
 {