예제 #1
0
 public static MessageBrokerConfiguration With(
     this MessageBrokerConfiguration configuration,
     Action <MessageBrokerConfiguration> updater)
 {
     updater(configuration);
     return(configuration);
 }
        public void when_ingress_set_it_should_be_set_in_configurator()
        {
            var configuration = new MessageBrokerConfiguration();
            var sut           = new MessageBrokerConfigurator(configuration);

            sut.Ingress(ingress => { }).Should().BeSameAs(sut);
            configuration.Ingress.Should().NotBeNull();
        }
        public void when_set_null_as_egress_it_should_fail()
        {
            var    configuration = new MessageBrokerConfiguration();
            var    configurator  = new MessageBrokerConfigurator(configuration);
            Action sut           = () => configurator.Egress(configurator: null);

            sut.Should().ThrowExactly <ArgumentNullException>();
        }
        public void when_set_without_ingress_more_than_once_it_should_fail()
        {
            var    configuration = new MessageBrokerConfiguration();
            var    configurator  = new MessageBrokerConfigurator(configuration);
            Action sut           = () => configurator.WithoutIngress();

            sut.Should().NotThrow();
            EnsureSecondCallOfConfigurationMethodFails(sut);
        }
        public void when_id_set_it_should_be_set_in_configuration()
        {
            var          configuration = new MessageBrokerConfiguration();
            var          sut           = new MessageBrokerConfigurator(configuration);
            const string expected      = "id";

            sut.WithId(expected).Should().BeSameAs(sut);
            configuration.Id.Should().Be(expected);
        }
        public void when_set_without_ingress_it_should_not_be_allowed_to_get_ingress()
        {
            var           configuration = new MessageBrokerConfiguration();
            var           configurator  = new MessageBrokerConfigurator(configuration);
            Func <object> sut           = () => configuration.Ingress;

            configurator.WithoutIngress();

            sut.Should().ThrowExactly <InvalidOperationException>();
        }
        public void when_egress_set_more_than_once_it_should_fail()
        {
            var    configuration = new MessageBrokerConfiguration();
            var    configurator  = new MessageBrokerConfigurator(configuration);
            Action sut           = () => configurator.Egress(egress => { });

            sut.Should().NotThrow();
            configuration.Egress.Should().NotBeNull();
            EnsureSecondCallOfConfigurationMethodFails(sut);
        }
예제 #8
0
        public static MessageBrokerConfiguration CreateMessageBrokerConfiguration()
        {
            var sut = new MessageBrokerConfiguration
            {
                Id      = "id",
                Ingress = CreateBrokerIngressConfiguration(),
                Egress  = CreateBrokerEgressConfiguration()
            };

            return(sut);
        }
        public void when_id_set_more_than_once_it_should_fail()
        {
            var          configuration = new MessageBrokerConfiguration();
            var          configurator  = new MessageBrokerConfigurator(configuration);
            const string expected      = "id";

            Action sut = () => configurator.WithId(expected);

            sut.Should().NotThrow();
            configuration.Id.Should().Be(expected);
            EnsureSecondCallOfConfigurationMethodFails(sut);
        }
예제 #10
0
        public MessageRouterConfigurator AddMessageBroker([NotNull] Action <MessageBrokerConfigurator> configurator)
        {
            if (configurator == null)
            {
                throw new ArgumentNullException(nameof(configurator));
            }

            var brokerConfiguration = new MessageBrokerConfiguration();

            Configuration.AddBroker(brokerConfiguration);
            configurator(new MessageBrokerConfigurator(brokerConfiguration));
            return(this);
        }
예제 #11
0
        /// <summary>
        /// Get connection settings
        /// </summary>
        /// <param name="TagConfigName"></param>
        private void SetConnection(string TagConfigName)
        {
            MessageBrokerConfiguration config = null;

            if (string.IsNullOrEmpty(TagConfigName)) // Load specific settings if provided
            {
                config = LightConfigurator.Config <MessageBrokerConfiguration>($"{nameof(TagConfigName)}");
            }
            else
            {
                config = LightConfigurator.Config <MessageBrokerConfiguration>($"ServiceBus_{TagConfigName}");
            }

            ConnectionString = config.ConnectionString;
        }
        public void when_set_invalid_value_as_id_it_should_fail()
        {
            var configuration = new MessageBrokerConfiguration();
            var configurator  = new MessageBrokerConfigurator(configuration);
            var id            = "id";

            Action sut = () => configurator.WithId(id);

            id = null;
            sut.Should().ThrowExactly <ArgumentNullException>();
            id = string.Empty;
            sut.Should().ThrowExactly <ArgumentNullException>();
            id = WhitespaceString;
            sut.Should().ThrowExactly <ArgumentNullException>();
        }
예제 #13
0
 /// <summary>
 /// Creates an instance of a message broker configurator.
 /// </summary>
 /// <param name="configuration">
 /// The message broker configuration to configure with this configurator.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// The message broker configuration is not specified.
 /// </exception>
 public MessageBrokerConfigurator([NotNull] MessageBrokerConfiguration configuration)
 {
     _configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
 }
예제 #14
0
 /// <summary>
 /// Adds a message broker configuration.
 /// </summary>
 /// <param name="configuration">
 /// A message broker configuration to add.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// A message broker configuration is not specified.
 /// </exception>
 internal void AddBroker([NotNull] MessageBrokerConfiguration configuration) =>
 _brokers.Add(configuration ?? throw new ArgumentNullException(nameof(configuration)));