Esempio n. 1
0
        public async Task soft_deleting_a_stream_that_does_not_exist_with_expected_version_does_not_throw(
            AnyStreamRevision expectedVersion, string name)
        {
            var stream = $"{_fixture.GetStreamName()}_{name}";

            await _fixture.Client.SoftDeleteAsync(stream, expectedVersion);
        }
        public void ImplicitConversionExpectedResult()
        {
            const int expected = 1;
            int       actual   = new AnyStreamRevision(expected);

            Assert.AreEqual(expected, actual);
        }
Esempio n. 3
0
        public DeleteReq WithAnyStreamRevision(AnyStreamRevision expectedRevision)
        {
            if (expectedRevision == AnyStreamRevision.Any)
            {
                Options.Any = new Types.Empty();
            }
            else if (expectedRevision == AnyStreamRevision.NoStream)
            {
                Options.NoStream = new Types.Empty();
            }
            else if (expectedRevision == AnyStreamRevision.StreamExists)
            {
                Options.StreamExists = new Types.Empty();
            }

            return(this);
        }
Esempio n. 4
0
        public async Task create_stream_expected_version_on_first_write_if_does_not_exist(
            AnyStreamRevision expectedVersion,
            string name)
        {
            var stream = $"{_fixture.GetStreamName()}_{name}";

            var writeResult = await _fixture.Client.AppendToStreamAsync(
                stream,
                expectedVersion,
                _fixture.CreateTestEvents(1));

            Assert.Equal(0, writeResult.NextExpectedVersion);

            var count = await _fixture.Client.ReadStreamForwardsAsync(stream, StreamRevision.Start, 2, false)
                        .CountAsync();

            Assert.Equal(1, count);
        }
Esempio n. 5
0
        public async Task appending_zero_events_again(AnyStreamRevision expectedVersion, string name)
        {
            var stream = $"{_fixture.GetStreamName()}_{name}";

            const int iterations = 2;

            for (var i = 0; i < iterations; i++)
            {
                var writeResult = await _fixture.Client.AppendToStreamAsync(
                    stream, expectedVersion, Enumerable.Empty <EventData>());

                Assert.Equal(AnyStreamRevision.NoStream.ToInt64(), writeResult.NextExpectedVersion);
            }

            var ex = await Assert.ThrowsAsync <StreamNotFoundException>(() =>
                                                                        _fixture.Client
                                                                        .ReadStreamForwardsAsync(stream, StreamRevision.Start, iterations, false)
                                                                        .ToArrayAsync().AsTask());

            Assert.Equal(stream, ex.Stream);
        }
Esempio n. 6
0
        public async Task recreated_with_any_expected_version(
            AnyStreamRevision expectedRevision, string name)
        {
            var stream = $"{_fixture.GetStreamName()}_{name}";

            var writeResult = await _fixture.Client.AppendToStreamAsync(
                stream,
                AnyStreamRevision.NoStream,
                _fixture.CreateTestEvents());

            Assert.Equal(0, writeResult.NextExpectedVersion);

            await _fixture.Client.SoftDeleteAsync(stream, StreamRevision.FromInt64(writeResult.NextExpectedVersion));

            var events = _fixture.CreateTestEvents(3).ToArray();

            writeResult = await _fixture.Client.AppendToStreamAsync(stream, expectedRevision, events);

            Assert.Equal(3, writeResult.NextExpectedVersion);

            await Task.Delay(50);             //TODO: This is a workaround until github issue #1744 is fixed

            var actual = await _fixture.Client.ReadStreamForwardsAsync(
                stream, StreamRevision.Start, int.MaxValue)
                         .Select(x => x.Event)
                         .ToArrayAsync();

            Assert.Equal(3, actual.Length);
            Assert.Equal(events.Select(x => x.EventId), actual.Select(x => x.EventId));
            Assert.Equal(
                Enumerable.Range(1, 3).Select(i => new StreamRevision((ulong)i)),
                actual.Select(x => x.EventNumber));

            var metadata = await _fixture.Client.GetStreamMetadataAsync(stream);

            Assert.Equal(new StreamRevision(1), metadata.Metadata.TruncateBefore);
            Assert.Equal(new StreamRevision(1), metadata.MetastreamRevision);
        }
Esempio n. 7
0
 public Task <WriteResult> AppendToStreamAsync(string streamName, AnyStreamRevision expectedRevision, IEnumerable <global::EventStore.Client.EventData> eventData,
                                               Action <EventStoreClientOperationOptions> configureOperationOptions = null, UserCredentials userCredentials = null,
                                               CancellationToken cancellationToken = new CancellationToken())
 {
     return(_client.AppendToStreamAsync(streamName, expectedRevision, eventData, configureOperationOptions, DefaultCredentials ?? userCredentials, cancellationToken));
 }
Esempio n. 8
0
 public Task <DeleteResult> TombstoneAsync(string streamName, AnyStreamRevision expectedRevision, Action <EventStoreClientOperationOptions> configureOperationOptions = null,
                                           UserCredentials userCredentials = null, CancellationToken cancellationToken = new CancellationToken())
 {
     return(_client.TombstoneAsync(streamName, expectedRevision, configureOperationOptions, DefaultCredentials ?? userCredentials, cancellationToken));
 }
Esempio n. 9
0
 public Task <WriteResult> SetStreamMetadataAsync(string streamName, AnyStreamRevision expectedRevision, StreamMetadata metadata,
                                                  Action <EventStoreClientOperationOptions> configureOperationOptions = null, UserCredentials userCredentials = null,
                                                  CancellationToken cancellationToken = new CancellationToken())
 {
     return(_client.SetStreamMetadataAsync(streamName, expectedRevision, metadata, configureOperationOptions, DefaultCredentials ?? userCredentials, cancellationToken));
 }
 public void ToInt64ExpectedResult(long expected, AnyStreamRevision value)
 => Assert.AreEqual(expected, value.ToInt64());
 public void FromInt64ExpectedResult(long value, AnyStreamRevision expected)
 => Assert.AreEqual(expected, AnyStreamRevision.FromInt64(value));
 public void ToStringExpectedResult(AnyStreamRevision sut, string expected)
 {
     Assert.AreEqual(expected, sut.ToString());
 }