public async Task Can_get_stream_message_count_with_created_before_date() { using (var fixture = new MsSqlStreamStoreV3Fixture("dbo")) { using (var store = await fixture.GetMsSqlStreamStore()) { fixture.GetUtcNow = () => new DateTime(2016, 1, 1, 0, 0, 0); var streamId = "stream-1"; await store.AppendToStream( streamId, ExpectedVersion.NoStream, CreateNewStreamMessages(1, 2, 3)); fixture.GetUtcNow = () => new DateTime(2016, 1, 1, 0, 1, 0); await store.AppendToStream( streamId, ExpectedVersion.Any, CreateNewStreamMessages(4, 5, 6)); var streamCount = await store.GetMessageCount(streamId, new DateTime(2016, 1, 1, 0, 1, 0)); streamCount.ShouldBe(3); // The first 3 } } }
public async Task Can_drop_all() { using (var fixture = new MsSqlStreamStoreV3Fixture("dbo")) { using (var store = await fixture.GetMsSqlStreamStore()) { await store.DropAll(); } } }
public async Task Can_call_initialize_repeatably(string schema) { using (var fixture = new MsSqlStreamStoreV3Fixture(schema)) { using (var store = await fixture.GetMsSqlStreamStore()) { await store.CreateSchema(); await store.CreateSchema(); } } }
public async Task Can_check_schema() { using (var fixture = new MsSqlStreamStoreV3Fixture("dbo")) { using (var store = await fixture.GetMsSqlStreamStore()) { var result = await store.CheckSchema(); result.ExpectedVersion.ShouldBe(3); result.CurrentVersion.ShouldBe(3); result.IsMatch().ShouldBeTrue(); } } }
public async Task Can_migrate() { // Set up an old schema + data. var schema = "baz"; var v2Fixture = new MsSqlStreamStoreFixture(schema, deleteDatabaseOnDispose: false); var v2Store = await v2Fixture.GetMsSqlStreamStore(); await v2Store.AppendToStream("stream-1", ExpectedVersion.NoStream, StreamStoreAcceptanceTests.CreateNewStreamMessages(1, 2, 3)); await v2Store.AppendToStream("stream-2", ExpectedVersion.NoStream, StreamStoreAcceptanceTests.CreateNewStreamMessages(1, 2, 3)); await v2Store.SetStreamMetadata("stream-1", ExpectedVersion.Any, maxAge : 10, maxCount : 20); v2Store.Dispose(); v2Fixture.Dispose(); // Migrate with V3 schema. var v3Fixture = new MsSqlStreamStoreV3Fixture(schema, databaseNameOverride: v2Fixture.DatabaseName); var v3Store = await v3Fixture.GetMsSqlStreamStore(); var checkSchemaResult = await v3Store.CheckSchema(); checkSchemaResult.IsMatch().ShouldBeFalse(); await v3Store.Migrate(CancellationToken.None); checkSchemaResult = await v3Store.CheckSchema(); checkSchemaResult.IsMatch().ShouldBeTrue(); v3Store.Dispose(); v3Fixture.Dispose(); }