public void DeserializeAvro_WithoutType_ExceptionThrown()
        {
            var builder = new TestConsumerEndpointBuilder();

            Action act = () => builder.DeserializeAvro();

            act.Should().Throw <InvalidOperationException>();
        }
Ejemplo n.º 2
0
        public void DeserializeJson_WithSetMessageType_TypedSerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder(typeof(TestEventOne));

            var endpoint = builder.DeserializeJson().Build();

            endpoint.Serializer.Should().BeOfType <JsonMessageSerializer <TestEventOne> >();
        }
Ejemplo n.º 3
0
        public void WithSequenceTimeout_Timeout_SequenceTimeoutSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.WithSequenceTimeout(TimeSpan.FromMinutes(42)).Build();

            endpoint.Sequence.Timeout.Should().Be(TimeSpan.FromMinutes(42));
        }
Ejemplo n.º 4
0
        public void ThrowIfUnhandled_ThrowIfUnhandledSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.ThrowIfUnhandled().Build();

            endpoint.ThrowIfUnhandled.Should().Be(true);
        }
Ejemplo n.º 5
0
        public void ValidateMessage_ThrowException_MessageValidationModeIsThrowException()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.ValidateMessage(true).Build();

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.ThrowException);
        }
Ejemplo n.º 6
0
        public void DisableMessageValidation_MessageValidationMode_IsNone()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DisableMessageValidation().Build();

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.None);
        }
Ejemplo n.º 7
0
        public void ValidateMessage_NoThrowException_MessageValidationModeIsLogWarning()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.ValidateMessage(false).Build();

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.LogWarning);
        }
Ejemplo n.º 8
0
        public void MessageValidationMode_ByDefault_IsLogWarning()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.Build();

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.LogWarning);
        }
Ejemplo n.º 9
0
        public void OnError_ErrorPolicyBuildAction_ErrorPolicySet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.OnError(errorPolicy => errorPolicy.Retry(5).ThenSkip()).Build();

            endpoint.ErrorPolicy.Should().BeOfType <ErrorPolicyChain>();
        }
Ejemplo n.º 10
0
        public void EnsureExactlyOnce_StrategyBuildAction_ExactlyOnceStrategySet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.EnsureExactlyOnce(strategy => strategy.StoreOffsets()).Build();

            endpoint.ExactlyOnceStrategy.Should().BeOfType <OffsetStoreExactlyOnceStrategy>();
        }
Ejemplo n.º 11
0
        public void WithName_DisplayNameSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.WithName("display-name").Build();

            endpoint.DisplayName.Should().Be("display-name (test)");
        }
Ejemplo n.º 12
0
        public void EnableBatchProcessing_InvalidBatchSize_ExceptionThrown(int size)
        {
            var builder = new TestConsumerEndpointBuilder();

            Action act = () => builder.EnableBatchProcessing(size).Build();

            act.Should().ThrowExactly <ArgumentOutOfRangeException>();
        }
Ejemplo n.º 13
0
        public void IgnoreUnhandledMessages_ThrowIfUnhandledSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.IgnoreUnhandledMessages().Build();

            endpoint.ThrowIfUnhandled.Should().Be(false);
        }
Ejemplo n.º 14
0
        public void Build_InvalidConfiguration_ExceptionThrown()
        {
            var builder = new TestConsumerEndpointBuilder();

            Action act = () => builder.Decrypt(new SymmetricEncryptionSettings()).Build();

            act.Should().ThrowExactly <EndpointConfigurationException>();
        }
Ejemplo n.º 15
0
        public void SkipNullMessages_NullMessageHandlingSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.SkipNullMessages().Build();

            endpoint.NullMessageHandlingStrategy.Should().Be(NullMessageHandlingStrategy.Skip);
        }
Ejemplo n.º 16
0
        public void UseLegacyNullMessageHandling_NullMessageHandlingSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.UseLegacyNullMessageHandling().Build();

            endpoint.NullMessageHandlingStrategy.Should().Be(NullMessageHandlingStrategy.Legacy);
        }
Ejemplo n.º 17
0
        public void HandleTombstoneMessages_NullMessageHandlingSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.HandleTombstoneMessages().Build();

            endpoint.NullMessageHandlingStrategy.Should().Be(NullMessageHandlingStrategy.Tombstone);
        }
        public void DeserializeJson_UseFixedType_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DeserializeJson(serializer => serializer.UseFixedType <TestEventOne>()).Build();

            endpoint.Serializer.Should().BeOfType <JsonMessageSerializer <TestEventOne> >();
        }
Ejemplo n.º 19
0
        public void DeserializeUsing_Serializer_SerializerSet()
        {
            var builder    = new TestConsumerEndpointBuilder();
            var serializer = new BinaryFileMessageSerializer();

            var endpoint = builder.DeserializeUsing(serializer).Build();

            endpoint.Serializer.Should().BeSameAs(serializer);
        }
        public void DeserializeJsonUsingNewtonsoft_Default_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DeserializeJsonUsingNewtonsoft().Build();

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer>();
            endpoint.Serializer.Should().NotBeSameAs(NewtonsoftJsonMessageSerializer.Default);
        }
Ejemplo n.º 21
0
        public void ConsumeBinaryFiles_UseModel_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.ConsumeBinaryFiles(serializer => serializer.UseModel <CustomBinaryFileMessage>())
                           .Build();

            endpoint.Serializer.Should().BeOfType <BinaryFileMessageSerializer <CustomBinaryFileMessage> >();
        }
Ejemplo n.º 22
0
        public void OnError_ErrorPolicy_ErrorPolicySet()
        {
            var builder     = new TestConsumerEndpointBuilder();
            var errorPolicy = new RetryErrorPolicy();

            var endpoint = builder.OnError(errorPolicy).Build();

            endpoint.ErrorPolicy.Should().BeSameAs(errorPolicy);
        }
Ejemplo n.º 23
0
        public void ConsumeBinaryFiles_Default_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.ConsumeBinaryFiles().Build();

            endpoint.Serializer.Should().BeOfType <BinaryFileMessageSerializer>();
            endpoint.Serializer.Should().NotBeSameAs(BinaryFileMessageSerializer.Default);
        }
        public void DeserializeAvro_Default_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DeserializeAvro(serializer => serializer.UseType <TestEventOne>())
                           .Build();

            endpoint.Serializer.Should().BeOfType <AvroMessageSerializer <TestEventOne> >();
        }
Ejemplo n.º 25
0
        public void EnsureExactlyOnce_Strategy_ExactlyOnceStrategySet()
        {
            var builder  = new TestConsumerEndpointBuilder();
            var strategy = new OffsetStoreExactlyOnceStrategy();

            var endpoint = builder.EnsureExactlyOnce(strategy).Build();

            endpoint.ExactlyOnceStrategy.Should().BeSameAs(strategy);
        }
Ejemplo n.º 26
0
        public void EnableBatchProcessing_ValidBatchSettings_BatchSettingsSet(int size)
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.EnableBatchProcessing(size, TimeSpan.FromMinutes(42)).Build();

            endpoint.Batch.Should().NotBeNull();
            endpoint.Batch !.Size.Should().Be(size);
            endpoint.Batch !.MaxWaitTime.Should().Be(TimeSpan.FromMinutes(42));
        }
        public void DeserializeJsonUsingNewtonsoft_Configure_SerializerAndOptionsSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DeserializeJsonUsingNewtonsoft(
                serializer => serializer.Configure(settings => { settings.MaxDepth = 42; })).Build();

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer>();
            endpoint.Serializer.As <NewtonsoftJsonMessageSerializer>().Settings.MaxDepth.Should().Be(42);
        }
        public void DeserializeJsonUsingNewtonsoft_WithEncoding_SerializerAndEncodingSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder.DeserializeJsonUsingNewtonsoft(
                serializer => serializer.WithEncoding(MessageEncoding.Unicode)).Build();

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer>();
            endpoint.Serializer.As <NewtonsoftJsonMessageSerializer>().Encoding.Should().Be(MessageEncoding.Unicode);
        }
        public void DeserializeJsonUsingNewtonsoft_UseFixedType_SerializerSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var endpoint = builder
                           .DeserializeJsonUsingNewtonsoft(serializer => serializer.UseFixedType(typeof(TestEventOne)))
                           .Build();

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer <TestEventOne> >();
        }
Ejemplo n.º 30
0
        public void DecryptUsingAes_WithKeyAndIV_EncryptionSettingsSet()
        {
            var builder = new TestConsumerEndpointBuilder();

            var key = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 };
            var iv  = new byte[] { 0x11, 0x12, 0x13, 0x14, 0x15 };

            TestConsumerEndpoint endpoint = builder.DecryptUsingAes(key, iv).Build();

            endpoint.Encryption.Should().BeOfType <SymmetricDecryptionSettings>();
            endpoint.Encryption.As <SymmetricDecryptionSettings>().Key.Should().BeSameAs(key);
            endpoint.Encryption.As <SymmetricDecryptionSettings>().InitializationVector.Should().BeSameAs(iv);
        }