public void Objects_Should_Be_Created_On_Empty_Database()
        {
            var connectionFactory = new SqliteInMemoryConnection();

            var x = new SqliteQueueManager(connectionFactory, new DefaultSqlQueueTableNameEncoder());

            x.CreateCoreTablesIfNotExist();
        }
        public void Should_Succeed_When_Executing_CreateIfNotExists_Multiple_Times()
        {
            var connectionFactory = new SqliteInMemoryConnection();


            var x = new SqliteQueueManager(connectionFactory, new DefaultSqlQueueTableNameEncoder());

            x.CreateCoreTablesIfNotExist();
            x.CreateCoreTablesIfNotExist();
            x.CreateCoreTablesIfNotExist();
        }
        public void Should_Not_Fail_Even_If_Queue_Already_Exist()
        {
            var connectionFactory = new SqliteInMemoryConnection();

            var x = new SqliteQueueManager(connectionFactory, new DefaultSqlQueueTableNameEncoder());

            x.CreateCoreTablesIfNotExist();

            x.CreateQueueIfNotExist("SomeQueue");
            x.CreateQueueIfNotExist("SomeQueue");
        }
        public void Should_Succed_On_Multiple_Queues()
        {
            var connectionFactory = new SqliteInMemoryConnection();

            var x = new SqliteQueueManager(connectionFactory, new DefaultSqlQueueTableNameEncoder());

            x.CreateCoreTablesIfNotExist();

            x.CreateQueueIfNotExist("SomeQueue1");
            x.CreateQueueIfNotExist("SomeQueue2");


            var queue1 = x.OpenQueue("SomeQueue1");
            var queue2 = x.OpenQueue("SomeQueue2");
        }
        public Given_Two_Buses_Using_SqlTransport()
        {
            var connection = new SqliteInMemoryConnection();

            //connection.Open();

            //var connectionStringResolver = new ConnectionStringResolver {ConnectionStrings = new ConnectionStringSettingsCollection {new ConnectionStringSettings("test", csSubscriptions), new ConnectionStringSettings("timeout", csTimeout)}};

            //var connectionFactory = new SqliteConnectionFactory(connection);

            //
            // setup the subscription service
            //
            SubscriptionBus = ServiceBusFactory.New(sbc =>
            {
                sbc.UseSql(cfg => cfg.UseConnection("test", connection));
                sbc.SetConcurrentConsumerLimit(1);

                sbc.ReceiveFrom("sqlite://test/mt_subscriptions");
            });

            var subscriptionSagas       = new InMemorySagaRepository <SubscriptionSaga>();
            var subscriptionClientSagas = new InMemorySagaRepository <SubscriptionClientSaga>();

            _subscriptionService = new SubscriptionService(SubscriptionBus, subscriptionSagas, subscriptionClientSagas);

            _subscriptionService.Start();

            //
            // setup the time out service
            //
            _timeoutBus = ServiceBusFactory.New(sbc =>
            {
                sbc.UseSql(cfg =>
                {
                    cfg.UseConnection("test", connection);
                    cfg.UseSubscriptionService(y => y.SetSubscriptionServiceEndpoint(new Uri("sqlite://test/mt_subscriptions")));
                });
                //sbc.SetConcurrentConsumerLimit(1);
                sbc.UseControlBus();
                sbc.ReceiveFrom("sqlite://test/mt_timeouts");
            });

            _timeoutService = new TimeoutService(_timeoutBus, new InMemorySagaRepository <TimeoutSaga>());
            _timeoutService.Start();

            OutboundBus = ServiceBusFactory.New(x =>
            {
                x.ReceiveFrom("sqlite://test/out_queue");
                x.UseControlBus();
                //x.SetPurgeOnStartup(true);

                x.UseSql(cfg =>
                {
                    cfg.UseConnection("test", connection);
                    cfg.UseSubscriptionService(y => y.SetSubscriptionServiceEndpoint(new Uri("sqlite://test/mt_subscriptions")));
                });

                x.SetCreateTransactionalQueues(false);

                //x.Subscribe(s => s.Handler<SimpleRequest>(Handle));
            });

            InboundBus = ServiceBusFactory.New(x =>
            {
                x.ReceiveFrom("sqlite://test/in_queue");
                x.UseControlBus();
                //x.SetPurgeOnStartup(true);

                x.UseSql(cfg =>
                {
                    cfg.UseConnection("test", connection);
                    cfg.UseSubscriptionService(y => y.SetSubscriptionServiceEndpoint(new Uri("sqlite://test/mt_subscriptions")));
                });

                x.SetCreateTransactionalQueues(false);

                //x.Subscribe(s => s.Handler<SimpleRequest>(Handle));
            });
        }
Exemple #6
0
 public Given_A_Empty_SqlLite_InMemory_Database()
 {
     Connection = new SqliteInMemoryConnection();
 }