Exemple #1
0
        public void Should_Throw_If_The_Connection_String_Does_Not_Exist()
        {
            var mock = new Moq.Mock <IDbConnectionConfigurator>();

            mock.Setup(tt => tt.ConnectionStringExists()).ReturnsAsync(false);

            var factory = new DefaultDbConnectionFactory();

            factory.Create(mock.Object).ShouldThrowAsync(typeof(ConnectionStringNotFoundException));
        }
Exemple #2
0
        public void Should_Return_Empty_SqlConnection()
        {
            var mock = new Moq.Mock <IDbConnectionConfigurator>();

            mock.Setup(tt => tt.ConnectionStringExists()).ReturnsAsync(true);
            mock.Setup(tt => tt.LoadConnectionString()).ReturnsAsync(string.Empty);
            var factory = new DefaultDbConnectionFactory();

            var sqlConn = factory.Create(mock.Object).GetAwaiter().GetResult();

            sqlConn.ShouldNotBeNull();
            sqlConn.ConnectionString.ShouldBe(string.Empty);
        }
Exemple #3
0
        public void Should_Return_SqlConnection_With_Given_Connection_String()
        {
            const string connString =
                "Server=myServerName\\myInstanceName;Database=myDataBase;User Id=myUsername;Password = myPassword;";
            var mock = new Moq.Mock <IDbConnectionConfigurator>();

            mock.Setup(tt => tt.ConnectionStringExists()).ReturnsAsync(true);
            mock.Setup(tt => tt.LoadConnectionString()).ReturnsAsync(connString);
            var factory = new DefaultDbConnectionFactory();

            var sqlConn = factory.Create(mock.Object).GetAwaiter().GetResult();

            sqlConn.ShouldNotBeNull();
            sqlConn.ConnectionString.ShouldBe(connString);
        }
        private void ConfigurePersistence(EndpointConfiguration endpointConfig, ServiceCollection services)
        {
            var persistence = endpointConfig.UsePersistence <SqlPersistence>();
            //persistence.DisableInstaller();
            var dialect = persistence.SqlDialect <SqlDialect.MsSqlServer>();

            dialect.Schema(Defaults.DbSchema);

            endpointConfig.EnableOutbox();

            var connectionFactory = new DefaultDbConnectionFactory(Log, Configuration);

            endpointConfig.RegisterComponents(c => c.RegisterSingleton(typeof(IDbConnectionFactory), connectionFactory));

            persistence.ConnectionBuilder(() => connectionFactory.CreateDbConnection(Defaults.DbConnectionString));

            endpointConfig.Pipeline.Register(
                new UnitOfWorkSetupBehavior <TDbContext>(Defaults.DbSchema, Log),
                $"Sets up unit of work for the {typeof(TDbContext).FullName}");

            services.AddDbContext <TDbContext>(DbContextThreadAsyncFactory.ApplyCurrentDbConnection);
        }