public void Setup()
        {
            var mapper = new ModelMapper();
            mapper.AddMapping<OutboxEntityMap>();

            var configuration = new global::NHibernate.Cfg.Configuration()
                .AddProperties(new Dictionary<string, string>
                {
                    { "dialect", dialect },
                    { global::NHibernate.Cfg.Environment.ConnectionString,connectionString }
                });

            configuration.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities());

            new SchemaUpdate(configuration).Execute(false, true);

            SessionFactory = configuration.BuildSessionFactory();

            Session = SessionFactory.OpenSession();

            persister = new OutboxPersister
            {
                StorageSessionProvider = new FakeSessionProvider(SessionFactory, Session),
                EndpointName = "TestEndpoint"
            };

        }
 private OutboxPersister GetPersister()
 {
     OutboxPersister.Initialize(_connectionFactoryHolder.ConnectionFactory);
     var persister = new OutboxPersister(_connectionFactoryHolder);
     return persister;
 }
 public OutboxCleaner(OutboxPersister outboxPersister, CriticalError criticalError)
 {
     this.outboxPersister = outboxPersister;
     this.criticalError = criticalError;
 }