diff --git a/src/SqlServer/src/Eventuous.SqlServer/Extensions/SqlParameterCollectionExtensions.cs b/src/SqlServer/src/Eventuous.SqlServer/Extensions/SqlParameterCollectionExtensions.cs index 807d1960..3b118c42 100644 --- a/src/SqlServer/src/Eventuous.SqlServer/Extensions/SqlParameterCollectionExtensions.cs +++ b/src/SqlServer/src/Eventuous.SqlServer/Extensions/SqlParameterCollectionExtensions.cs @@ -23,7 +23,7 @@ IEnumerable persisted row["message_id"] = persistedEvent.MessageId; row["message_type"] = persistedEvent.MessageType; row["json_data"] = persistedEvent.JsonData; - row["json_metadata"] = persistedEvent.JsonData; + row["json_metadata"] = persistedEvent.JsonMetadata; tableVariable.Rows.Add(row); } diff --git a/src/SqlServer/src/Eventuous.SqlServer/Subscriptions/SqlServerAllStreamSubscription.cs b/src/SqlServer/src/Eventuous.SqlServer/Subscriptions/SqlServerAllStreamSubscription.cs index 90bf06aa..9db2a3af 100644 --- a/src/SqlServer/src/Eventuous.SqlServer/Subscriptions/SqlServerAllStreamSubscription.cs +++ b/src/SqlServer/src/Eventuous.SqlServer/Subscriptions/SqlServerAllStreamSubscription.cs @@ -10,10 +10,10 @@ namespace Eventuous.SqlServer.Subscriptions; -public class SqlServerAllStreamSubscription : SqlServerSubscriptionBase { +public class SqlServerAllStreamSubscription : SqlServerSubscriptionBase { public SqlServerAllStreamSubscription( GetSqlServerConnection getConnection, - PostgresAllStreamSubscriptionOptions options, + SqlServerAllStreamSubscriptionOptions options, ICheckpointStore checkpointStore, ConsumePipe consumePipe ) : base(getConnection, options, checkpointStore, consumePipe) { } @@ -53,4 +53,4 @@ CancellationToken cancellationToken ); } -public record PostgresAllStreamSubscriptionOptions : SqlServerSubscriptionBaseOptions; +public record SqlServerAllStreamSubscriptionOptions : SqlServerSubscriptionBaseOptions; diff --git a/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Helpers.cs b/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Helpers.cs index 8d533d80..7e95b0ec 100644 --- a/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Helpers.cs +++ b/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Helpers.cs @@ -28,8 +28,8 @@ ExpectedStreamVersion version return Instance.EventStore.AppendEvents(stream, version, streamEvents.ToArray(), default); } - public static Task AppendEvent(StreamName stream, object evt, ExpectedStreamVersion version) { - var streamEvent = new StreamEvent(Guid.NewGuid(), evt, new Metadata(), "", 0); + public static Task AppendEvent(StreamName stream, object evt, ExpectedStreamVersion version, Metadata? metadata = null) { + var streamEvent = new StreamEvent(Guid.NewGuid(), evt, metadata ?? new Metadata(), "", 0); return Instance.EventStore.AppendEvents(stream, version, new[] { streamEvent }, default); } } diff --git a/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Read.cs b/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Read.cs index 9e8a5f5a..c414b961 100644 --- a/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Read.cs +++ b/src/SqlServer/test/Eventuous.Tests.SqlServer/Store/Read.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using static Eventuous.Tests.SqlServer.Fixtures.IntegrationFixture; using static Eventuous.Tests.SqlServer.Store.Helpers; @@ -19,6 +20,26 @@ public async Task ShouldReadOne() { result.Length.Should().Be(1); result[0].Payload.Should().BeEquivalentTo(evt); + result[0].Metadata.Should().BeEquivalentTo(new Metadata()); + } + + [Fact] + public async Task ShouldReadMetadata() { + var evt = CreateEvent(); + var streamName = GetStreamName(); + await AppendEvent(streamName, evt, ExpectedStreamVersion.NoStream, new Metadata {{"Key1","Value1"},{"Key2","Value2"}}); + + var result = await Instance.EventStore.ReadEvents( + streamName, + StreamReadPosition.Start, + 100, + default + ); + + result.Length.Should().Be(1); + result[0].Payload.Should().BeEquivalentTo(evt); + result[0].Metadata.ToDictionary(m => m.Key, m => ((JsonElement)m.Value).GetString()) + .Should().BeEquivalentTo(new Metadata {{"Key1", "Value1"},{"Key2","Value2"}}); } [Fact] diff --git a/src/SqlServer/test/Eventuous.Tests.SqlServer/Subscriptions/SubscriptionFixture.cs b/src/SqlServer/test/Eventuous.Tests.SqlServer/Subscriptions/SubscriptionFixture.cs index b447959e..ab3a4bc3 100644 --- a/src/SqlServer/test/Eventuous.Tests.SqlServer/Subscriptions/SubscriptionFixture.cs +++ b/src/SqlServer/test/Eventuous.Tests.SqlServer/Subscriptions/SubscriptionFixture.cs @@ -61,7 +61,7 @@ protected SubscriptionFixture( ) : new SqlServerAllStreamSubscription( Instance.GetConnection, - new PostgresAllStreamSubscriptionOptions { + new SqlServerAllStreamSubscriptionOptions { SubscriptionId = SubscriptionId, Schema = SchemaName },