public static ComponentContainer GetComponentContainer()
        {
            var container = new WindsorComponentContainer(new WindsorContainer());

            container.RegisterSqlQueue();
            container.RegisterDataAccess();

            return(new ComponentContainer(container, () => container));
        }
        public void Should_be_able_to_perform_full_processing(bool isTransactionalEndpoint, bool enqueueUniqueMessages)
        {
            DbProviderFactories.RegisterFactory("System.Data.SqlClient", SqlClientFactory.Instance);

            var container = new WindsorComponentContainer(new WindsorContainer());

            container.RegisterInstance <IIdempotenceConfiguration>(new IdempotenceConfiguration
            {
                ProviderName     = "System.Data.SqlClient",
                ConnectionString = "server=.;database=shuttle;user id=sa;password=Pass!000"
            });

            container.Register <IConnectionConfigurationProvider, ConnectionConfigurationProvider>();
            container.RegisterSqlQueue();
            container.RegisterIdempotence();
            container.RegisterDataAccess();

            TestIdempotenceProcessing(new ComponentContainer(container, () => container), @"sql://shuttle/{0}",
                                      isTransactionalEndpoint, enqueueUniqueMessages);
        }