Esempio n. 1
0
        public void TestDbHelperForBatchQuery()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new CustomDbConnectionForDbHelper();

            // Setup
            dbHelper.Setup(builder =>
                           builder.GetFields(
                               It.Is <IDbConnection>(s => s == connection),
                               It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()),
                               It.IsAny <IDbTransaction>())
                           ).Returns(GetDbFields());

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            StatementBuilderMapper.Add(typeof(CustomDbConnectionForDbHelper), new SqlServerStatementBuilder(), true);
            DbHelperMapper.Add(typeof(CustomDbConnectionForDbHelper), dbHelper.Object, true);

            // Act
            connection.BatchQuery <DataEntityForDbHelper>(0,
                                                          10,
                                                          OrderField.Ascending <DataEntityForDbHelper>(e => e.Id).AsEnumerable(),
                                                          e => e.Id == 1);

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 2
0
        public void Dispose()
        {
            if (conn.State == ConnectionState.Open)
            {
                conn.Close();
            }

            if (DatabaseProvider == DatabaseProvider.MicrosoftData)
            {
                DbSettingMapper.Remove <Microsoft.Data.SqlClient.SqlConnection>();
                DbHelperMapper.Remove <Microsoft.Data.SqlClient.SqlConnection>();
                StatementBuilderMapper.Remove <Microsoft.Data.SqlClient.SqlConnection>();
            }

            if (DatabaseProvider == DatabaseProvider.SystemData)
            {
                DbSettingMapper.Remove <System.Data.SqlClient.SqlConnection>();
                DbHelperMapper.Remove <System.Data.SqlClient.SqlConnection>();
                StatementBuilderMapper.Remove <System.Data.SqlClient.SqlConnection>();
            }


            CommandTextCache.Flush();

            conn.Dispose();
        }
Esempio n. 3
0
        public void TestDbHelperForUpdateAllViaTableName()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new CustomDbConnectionForDbHelper();

            // Setup
            dbHelper.Setup(builder =>
                           builder.GetFields(
                               It.Is <IDbConnection>(s => s == connection),
                               It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()),
                               It.IsAny <IDbTransaction>())
                           ).Returns(GetDbFields());

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            StatementBuilderMapper.Add(typeof(CustomDbConnectionForDbHelper), new SqlServerStatementBuilder(), true);
            DbHelperMapper.Add(typeof(CustomDbConnectionForDbHelper), dbHelper.Object, true);

            // Act
            connection.UpdateAll(ClassMappedNameCache.Get <DataEntityForDbHelper>(),
                                 new[] { new DataEntityForDbHelper {
                                             Id = 1, Name = "Name"
                                         } });

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 4
0
        public void TestDbHelperForQueryAllViaTableName()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new DbHelperDbConnection();

            // Setup
            dbHelper.Setup(builder =>
                           builder.GetFields(
                               It.Is <IDbConnection>(s => s == connection),
                               It.Is <string>(s => s == ClassMappedNameCache.Get <DbHelperDataEntity>()),
                               It.IsAny <IDbTransaction>())
                           ).Returns(GetDbFields());

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            DbHelperMapper.Add(typeof(DbHelperDbConnection), dbHelper.Object, true);

            // Act
            connection.QueryAll(ClassMappedNameCache.Get <DbHelperDataEntity>());

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DbHelperDataEntity>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 5
0
        public void TestDbHelperForQueryViaTableName()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new CustomDbConnectionForDbHelper();

            // Setup
            dbHelper.Setup(builder =>
                           builder.GetFields(
                               It.Is <string>(s => s == connection.ConnectionString),
                               It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()))
                           ).Returns(GetDbFields());

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            StatementBuilderMapper.Add(typeof(CustomDbConnectionForDbHelper), new SqlStatementBuilder(), true);
            DbHelperMapper.Add(typeof(CustomDbConnectionForDbHelper), dbHelper.Object, true);

            // Act
            connection.Query(ClassMappedNameCache.Get <DataEntityForDbHelper>(),
                             (object)null);

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <string>(s => s == connection.ConnectionString),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>())), Times.Exactly(1));
        }
Esempio n. 6
0
        public void TestDbHelperForBatchQueryViaTableName()
        {
            // Prepare
            var dbHelper   = GetMockedDbHelper();
            var connection = new DbHelperDbConnection();

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            DbHelperMapper.Add(typeof(DbHelperDbConnection), dbHelper.Object, true);

            // Act
            connection.BatchQuery(ClassMappedNameCache.Get <DbHelperDataEntity>(),
                                  0,
                                  10,
                                  OrderField.Ascending <DbHelperDataEntity>(e => e.Id).AsEnumerable(),
                                  new { Id = 1 });

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DbHelperDataEntity>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 7
0
        public void TestPostgreSqlDbHelperMapper()
        {
            // Setup
            var helper = DbHelperMapper.Get <NpgsqlConnection>();

            // Assert
            Assert.IsNotNull(helper);
        }
Esempio n. 8
0
        public void TestSqlServerDbHelperMapper()
        {
            // Setup
            var helper = DbHelperMapper.Get <SqlConnection>();

            // Assert
            Assert.IsNotNull(helper);
        }
Esempio n. 9
0
        public void TestSdsSqLiteDbHelperMapper()
        {
            // Setup
            var helper = DbHelperMapper.Get <SQLiteConnection>();

            // Assert
            Assert.IsNotNull(helper);
        }
        public void Init(string connectionString, DatabaseProvider databaseType)
        {
            DatabaseProvider = databaseType;
            conn             = DatabaseProvider.GetAndConfigureConnection(connectionString, (connection, dbType) =>
            {
                switch (dbType)
                {
                case DatabaseProvider.MySqlData:
                    MySqlBootstrap.Initialize();
                    break;

                case DatabaseProvider.Npgsql:
                    PostgreSqlBootstrap.Initialize();
                    break;

                case DatabaseProvider.SystemData:
                    {
                        var dbSetting = new SqlServerDbSetting();
                        DbSettingMapper.Add(typeof(System.Data.SqlClient.SqlConnection), dbSetting, true);

                        // Map the DbHelper
                        var dbHelper = new SqlServerDbHelper();
                        DbHelperMapper.Add(typeof(System.Data.SqlClient.SqlConnection), dbHelper, true);

                        // Map the Statement Builder
                        var statementBuilder = new SqlServerStatementBuilder(dbSetting);
                        StatementBuilderMapper.Add(typeof(System.Data.SqlClient.SqlConnection), statementBuilder, true);
                        break;
                    }

                case DatabaseProvider.MicrosoftData:
                    {
                        var dbSetting = new SqlServerDbSetting();
                        DbSettingMapper.Add(typeof(Microsoft.Data.SqlClient.SqlConnection), dbSetting, true);

                        // Map the DbHelper
                        var dbHelper = new SqlServerDbHelper();
                        DbHelperMapper.Add(typeof(Microsoft.Data.SqlClient.SqlConnection), dbHelper, true);

                        // Map the Statement Builder
                        var statementBuilder = new SqlServerStatementBuilder(dbSetting);
                        StatementBuilderMapper.Add(typeof(Microsoft.Data.SqlClient.SqlConnection), statementBuilder, true);
                        break;
                    }

                case DatabaseProvider.MySqlConnector:
                    MySqlConnectorBootstrap.Initialize();
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                connection.Open();
                return(connection);
            });
        }
Esempio n. 11
0
        public void Initialize()
        {
            // For Non-Attributed Entity
            DbSettingMapper.Add(typeof(ClassHandlerConnection), new CustomDbSetting(), true);
            DbHelperMapper.Add(typeof(ClassHandlerConnection), new CustomDbHelper(), true);
            StatementBuilderMapper.Add(typeof(ClassHandlerConnection), new CustomStatementBuilder(), true);

            // For Attributed Entity
            DbSettingMapper.Add(typeof(ClassHandlerForEntityWithAttributeConnection), new CustomDbSetting(), true);
            DbHelperMapper.Add(typeof(ClassHandlerForEntityWithAttributeConnection), new CustomDbHelper(), true);
            StatementBuilderMapper.Add(typeof(ClassHandlerForEntityWithAttributeConnection), new CustomStatementBuilder(), true);
        }
Esempio n. 12
0
        public void TestDbHelperMapperMappingViaGeneric()
        {
            // Setup
            var dbHelper = new CustomDbHelper();

            DbHelperMapper.Add <CustomDbConnection>(dbHelper, true);

            // Act
            var actual = DbHelperMapper.Get <CustomDbConnection>();

            // Assert
            Assert.AreSame(dbHelper, actual);
        }
Esempio n. 13
0
        public static void Initialize()
        {
            // Map the DbHelper
            DbHelperMapper.Add(typeof(SQLiteConnection), new SqLiteDbHelper(), true);

            // Map the DbValidator
            DbValidatorMapper.Add(typeof(SQLiteConnection), new SqLiteDbValidator(), true);

            // Map the Statement Builder
            StatementBuilderMapper.Add(typeof(SQLiteConnection), new SqLiteStatementBuilder(), true);

            // Map the Setting
        }
Esempio n. 14
0
        public void TestDbHelperMapperMappingCanBeRemovedViaGeneric()
        {
            // Setup
            var dbHelper = new CustomDbHelper();

            DbHelperMapper.Add <CustomDbConnection>(dbHelper, true);

            // Act
            DbHelperMapper.Remove <CustomDbConnection>();

            // Assert
            var actual = DbHelperMapper.Get <CustomDbConnection>();

            Assert.IsNull(actual);
        }
Esempio n. 15
0
        public static void Initialize()
        {
            if (IsInitialized)
            {
                return;
            }
            // Map the DbSetting
            var dbSetting = new DB2iSeriesDbSettings();

            DbSettingMapper.Add(typeof(iDB2Connection), dbSetting, true);
            DbHelperMapper.Add(typeof(iDB2Connection), new DB2iSeriesDbHelper <iDB2Connection>(), true);
            StatementBuilderMapper.Add(typeof(iDB2Connection), new DB2iSeries_SqlServerStatementBuilder <iDB2Connection>(dbSetting), true);
            // Set the flag
            IsInitialized = true;
        }
Esempio n. 16
0
        /// <summary>
        /// Initializes all necessary settings for PostgreSql.
        /// </summary>
        public static void Initialize()
        {
            // Skip if already initialized
            if (Initialized == true)
            {
                return;
            }

            // Map the DbSetting
            DbSettingMapper.Add(typeof(NpgsqlConnection), new PostgreSqlDbSetting(), true);

            // Map the DbHelper
            DbHelperMapper.Add(typeof(NpgsqlConnection), new PostgreSqlDbHelper(), true);

            // Map the Statement Builder
            StatementBuilderMapper.Add(typeof(NpgsqlConnection), new PostgreSqlStatementBuilder(), true);

            // Set the flag
            Initialized = true;
        }
Esempio n. 17
0
        private void Setup(IDbSetting settings)
        {
            if (_isInitialized)
            {
                return;
            }

            lock (_mutex)
            {
                DbSettingMapper.Add(typeof(SQLiteConnection), settings, true);

                // Map the DbHelper
                DbHelperMapper.Add(typeof(SQLiteConnection), new SqLiteDbHelper(settings, new SdsSqLiteDbTypeNameToClientTypeResolver()), true);

                // Map the Statement Builder
                StatementBuilderMapper.Add(typeof(SQLiteConnection), new SqLiteStatementBuilder(settings), true);

                // Set the flag
                _isInitialized = true;
            }
        }
Esempio n. 18
0
        public void TestDbHelperForQuery()
        {
            // Prepare
            var dbHelper   = GetMockedDbHelper();
            var connection = new DbHelperDbConnection();

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            DbHelperMapper.Add(typeof(DbHelperDbConnection), dbHelper.Object, true);

            // Act
            connection.Query <DbHelperDataEntity>((object)null);

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DbHelperDataEntity>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 19
0
        public void TestDbHelperForQueryAll()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new CustomDbConnectionForDbHelper();

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            StatementBuilderMapper.Add(typeof(CustomDbConnectionForDbHelper), new SqlServerStatementBuilder(), true);
            DbHelperMapper.Add(typeof(CustomDbConnectionForDbHelper), dbHelper.Object, true);

            // Act
            connection.QueryAll <DataEntityForDbHelper>();

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 20
0
        public void TestDbHelperForInsertAllViaTableName()
        {
            // Prepare
            var dbHelper   = GetMockedDbHelper();
            var connection = new DbHelperDbConnection();

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            DbHelperMapper.Add(typeof(DbHelperDbConnection), dbHelper.Object, true);

            // Act
            connection.InsertAll(ClassMappedNameCache.Get <DbHelperDataEntity>(),
                                 new[] { new { Id = 1, Name = "Name" } });

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <IDbConnection>(s => s == connection),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DbHelperDataEntity>()),
                                It.IsAny <IDbTransaction>()), Times.Exactly(1));
        }
Esempio n. 21
0
        public void TestDbHelperForInsert()
        {
            // Prepare
            var dbHelper   = new Mock <IDbHelper>();
            var connection = new CustomDbConnectionForDbHelper();

            // Act
            CommandTextCache.Flush();
            DbFieldCache.Flush();
            StatementBuilderMapper.Add(typeof(CustomDbConnectionForDbHelper), new SqlStatementBuilder(), true);
            DbHelperMapper.Add(typeof(CustomDbConnectionForDbHelper), dbHelper.Object, true);

            // Act
            connection.Insert <DataEntityForDbHelper>(new DataEntityForDbHelper {
                Id = 1, Name = "Name"
            });

            // Assert
            dbHelper.Verify(builder =>
                            builder.GetFields(
                                It.Is <string>(s => s == connection.ConnectionString),
                                It.Is <string>(s => s == ClassMappedNameCache.Get <DataEntityForDbHelper>())), Times.Exactly(1));
        }
 public void Initialize()
 {
     DbSettingMapper.Add(typeof(PropertyHandlerConnection), new CustomDbSetting(), true);
     DbHelperMapper.Add(typeof(PropertyHandlerConnection), new CustomDbHelper(), true);
     StatementBuilderMapper.Add(typeof(PropertyHandlerConnection), new CustomStatementBuilder(), true);
 }
Esempio n. 23
0
 public static void ClassInitialize(TestContext context)
 {
     DbHelperMapper.Add(typeof(CustomDbConnectionForBaseRepositoryITrace), new BaseRepositoryCustomDbHelper(), true);
     DbOperationMapper.Add(typeof(CustomDbConnectionForBaseRepositoryITrace), new BaseRepositoryCustomDbOperationProvider(), true);
 }
Esempio n. 24
0
 public static void ClassInitialize(TestContext context)
 {
     DbSettingMapper.Add(typeof(TraceDbConnection), new CustomDbSetting(), true);
     DbHelperMapper.Add(typeof(TraceDbConnection), new CustomDbHelper(), true);
     StatementBuilderMapper.Add(typeof(TraceDbConnection), new CustomStatementBuilder(), true);
 }
 public void Initialize()
 {
     DbSettingMapper.Add <CacheDbConnection>(new CustomDbSetting(), true);
     DbHelperMapper.Add <CacheDbConnection>(new CustomDbHelper(), true);
     StatementBuilderMapper.Add <CacheDbConnection>(new CustomStatementBuilder(), true);
 }
Esempio n. 26
0
 public void Cleanup()
 {
     DbHelperMapper.Clear();
 }