public void ProduceDirectly_StrategySet() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.ProduceDirectly().Build(); endpoint.Strategy.Should().BeOfType <DefaultProduceStrategy>(); }
public void WithName_DisplayNameSet() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.WithName("display-name").Build(); endpoint.DisplayName.Should().Be("display-name (test)"); }
public void ValidateMessage_ThrowException_MessageValidationModeIsThrowException() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.ValidateMessage(true).Build(); endpoint.MessageValidationMode.Should().Be(MessageValidationMode.ThrowException); }
public void DisableMessageValidation_MessageValidationMode_IsNone() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.DisableMessageValidation().Build(); endpoint.MessageValidationMode.Should().Be(MessageValidationMode.None); }
public void ValidateMessage_NoThrowException_MessageValidationModeIsLogWarning() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.ValidateMessage(false).Build(); endpoint.MessageValidationMode.Should().Be(MessageValidationMode.LogWarning); }
public void SerializeAsJson_UseFixedType_SerializerSet() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.SerializeAsJson(serializer => serializer.UseFixedType <TestEventOne>()).Build(); endpoint.Serializer.Should().BeOfType <JsonMessageSerializer <TestEventOne> >(); }
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>(); }
public void ProduceToOutbox_StrategySet() { var builder = new TestProducerEndpointBuilder(); var endpoint = builder.ProduceToOutbox().Build(); endpoint.Strategy.Should().BeOfType <OutboxProduceStrategy>(); }
public void Build_InvalidConfiguration_ExceptionThrown() { var builder = new TestProducerEndpointBuilder(); Action act = () => builder.Encrypt(new SymmetricEncryptionSettings()).Build(); act.Should().ThrowExactly <EndpointConfigurationException>(); }
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); }
public void UseStrategy_Strategy_StrategySet() { var builder = new TestProducerEndpointBuilder(); var strategy = new OutboxProduceStrategy(); var endpoint = builder.UseStrategy(strategy).Build(); endpoint.Strategy.Should().BeSameAs(strategy); }
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); }
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); }
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> >(); }
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); }
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); }