Exemplo n.º 1
0
        public void ProduceDirectly_StrategySet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Strategy.Should().BeOfType <DefaultProduceStrategy>();
        }
Exemplo n.º 2
0
        public void WithName_DisplayNameSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.DisplayName.Should().Be("display-name (test)");
        }
Exemplo n.º 3
0
        public void ValidateMessage_ThrowException_MessageValidationModeIsThrowException()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.ThrowException);
        }
Exemplo n.º 4
0
        public void DisableMessageValidation_MessageValidationMode_IsNone()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.None);
        }
Exemplo n.º 5
0
        public void ValidateMessage_NoThrowException_MessageValidationModeIsLogWarning()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.LogWarning);
        }
Exemplo n.º 6
0
        public void SerializeAsJson_UseFixedType_SerializerSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <JsonMessageSerializer <TestEventOne> >();
        }
Exemplo n.º 7
0
        public void MessageValidationMode_ByDefault_IsLogWarning()
        {
            var builder = new TestProducerEndpointBuilder();

            var endpoint = builder.Build();

            endpoint.MessageValidationMode.Should().Be(MessageValidationMode.LogWarning);
        }
        public void SerializeAsAvro_WithoutType_ExceptionThrown()
        {
            var builder = new TestProducerEndpointBuilder();

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

            act.Should().Throw <InvalidOperationException>();
        }
Exemplo n.º 9
0
        public void ProduceToOutbox_StrategySet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Strategy.Should().BeOfType <OutboxProduceStrategy>();
        }
Exemplo n.º 10
0
        public void Build_InvalidConfiguration_ExceptionThrown()
        {
            var builder = new TestProducerEndpointBuilder();

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

            act.Should().ThrowExactly <EndpointConfigurationException>();
        }
Exemplo n.º 11
0
        public void SerializeUsing_Serializer_SerializerSet()
        {
            var builder    = new TestProducerEndpointBuilder();
            var serializer = new BinaryFileMessageSerializer();

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

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

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

            endpoint.Serializer.Should().BeOfType <AvroMessageSerializer <TestEventOne> >();
        }
        public void ProduceBinaryFiles_UseFixedType_SerializerSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <BinaryFileMessageSerializer <CustomBinaryFileMessage> >();
        }
        public void SerializeAsJson_Default_SerializerSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <JsonMessageSerializer>();
            endpoint.Serializer.Should().NotBeSameAs(JsonMessageSerializer.Default);
        }
Exemplo n.º 15
0
        public void UseStrategy_Strategy_StrategySet()
        {
            var builder  = new TestProducerEndpointBuilder();
            var strategy = new OutboxProduceStrategy();

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

            endpoint.Strategy.Should().BeSameAs(strategy);
        }
Exemplo n.º 16
0
        public void SerializeAsJsonUsingNewtonsoft_WithEncoding_SerializerAndOptionsSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer>();
            endpoint.Serializer.As <NewtonsoftJsonMessageSerializer>().Encoding.Should().Be(MessageEncoding.Unicode);
        }
Exemplo n.º 17
0
        public void SerializeAsJsonUsingNewtonsoft_Configure_SerializerAndOptionsSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer>();
            endpoint.Serializer.As <NewtonsoftJsonMessageSerializer>().Settings.MaxDepth.Should().Be(42);
        }
Exemplo n.º 18
0
        public void SerializeAsJsonUsingNewtonsoft_UseFixedType_SerializerSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            endpoint.Serializer.Should().BeOfType <NewtonsoftJsonMessageSerializer <TestEventOne> >();
        }
Exemplo n.º 19
0
        public void EnableChunking_ValidBatchSettings_BatchSettingsSet()
        {
            var builder = new TestProducerEndpointBuilder();

            var endpoint = builder.EnableChunking(42, false).Build();

            endpoint.Chunk.Should().NotBeNull();
            endpoint.Chunk !.Size.Should().Be(42);
            endpoint.Chunk !.AlwaysAddHeaders.Should().BeFalse();
        }
        public void EncryptUsingAes_WithKeyAndIV_EncryptionSettingsSet()
        {
            var builder = new TestProducerEndpointBuilder();

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

            var endpoint = builder.EncryptUsingAes(key, iv).Build();

            endpoint.Encryption.Should().BeOfType <SymmetricEncryptionSettings>();
            endpoint.Encryption.As <SymmetricEncryptionSettings>().Key.Should().BeSameAs(key);
            endpoint.Encryption.As <SymmetricEncryptionSettings>().InitializationVector.Should().BeSameAs(iv);
        }
Exemplo n.º 21
0
        public void Encrypt_EncryptionSettings_EncryptionSet()
        {
            var builder            = new TestProducerEndpointBuilder();
            var encryptionSettings = new SymmetricEncryptionSettings
            {
                AlgorithmName = "TripleDES",
                Key           = new byte[10]
            };

            var endpoint = builder.Encrypt(encryptionSettings).Build();

            endpoint.Encryption.Should().BeSameAs(encryptionSettings);
        }
        public void SerializeAsJson_WithOptions_SerializerAndOptionsSet()
        {
            var builder = new TestProducerEndpointBuilder();

            var endpoint = builder.SerializeAsJson(
                serializer => serializer.WithOptions(
                    new JsonSerializerOptions
            {
                MaxDepth = 42
            })).Build();

            endpoint.Serializer.Should().BeOfType <JsonMessageSerializer>();
            endpoint.Serializer.As <JsonMessageSerializer>().Options.MaxDepth.Should().Be(42);
        }
        public void EncryptUsingAes_WithKeyIdentifier_EncryptionSettingsSet()
        {
            var builder = new TestProducerEndpointBuilder();

            var          key           = new byte[] { 0x01, 0x02, 0x03, 0x04, 0x05 };
            var          iv            = new byte[] { 0x11, 0x12, 0x13, 0x14, 0x15 };
            const string?keyIdentifier = "my-encryption-key-id";

            TestProducerEndpoint endpoint = builder.EncryptUsingAes(key, keyIdentifier, iv).Build();

            endpoint.Encryption.Should().BeOfType <SymmetricEncryptionSettings>();
            endpoint.Encryption.As <SymmetricEncryptionSettings>().Key.Should().BeSameAs(key);
            endpoint.Encryption.As <SymmetricEncryptionSettings>().InitializationVector.Should().BeSameAs(iv);
            endpoint.Encryption.As <SymmetricEncryptionSettings>().KeyIdentifier.Should()
            .BeSameAs(keyIdentifier);
        }
        public void SerializeAsAvro_Configure_SchemaRegistryAndSerializerConfigSet()
        {
            var builder = new TestProducerEndpointBuilder();

            var endpoint = builder.SerializeAsAvro(
                serializer => serializer
                .UseType <TestEventOne>()
                .Configure(
                    schemaRegistryConfig => { schemaRegistryConfig.Url = "some-url"; },
                    serializerConfig => { serializerConfig.BufferBytes = 42; })).Build();

            endpoint.Serializer.Should().BeOfType <AvroMessageSerializer <TestEventOne> >();
            endpoint.Serializer.As <AvroMessageSerializer <TestEventOne> >().SchemaRegistryConfig.Url.Should()
            .Be("some-url");
            endpoint.Serializer.As <AvroMessageSerializer <TestEventOne> >().AvroSerializerConfig.BufferBytes.Should()
            .Be(42);
        }