public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            configSource.Add(DatabaseSettings.SectionName, new DatabaseSettings { DefaultDatabase = "default" });
            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            configSource.Add(DatabaseSettings.SectionName, new DatabaseSettings());
            configSettings = new DatabaseSyntheticConfigSettings(configSource.GetSection);
        }
        public void CanGetConnectionForStringWithNoCredentials()
        {
            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(TestConfigurationSource.CreateConfigurationSource());
            ConnectionStringSettings data = settings.GetConnectionStringSettings("NewDatabase");
            SqlDatabase sqlDatabase = new SqlDatabase(data.ConnectionString);

            Assert.AreEqual(@"server=(localdb)\v11.0;database=northwind;integrated security=true;", sqlDatabase.ConnectionStringWithoutCredentials);
        }
        public void CanGetConnectionWithoutCredentials()
        {
            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(TestConfigurationSource.CreateConfigurationSource());
            ConnectionStringSettings data = settings.GetConnectionStringSettings("DbWithSqlServerAuthn");
            SqlDatabase sqlDatabase = new SqlDatabase(data.ConnectionString);

            Assert.AreEqual(@"server=(localdb)\v11.0;database=northwind;", sqlDatabase.ConnectionStringWithoutCredentials);
        }
        public ConnectionStringSettings GetConnectionStringSettings(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentException(Resources.ExceptionNullOrEmptyString);
            }
            ConnectionStringSettings connectionString = this.GetConnectionStrings()[name];

            DatabaseSyntheticConfigSettings.ValidateConnectionStringSettings(name, connectionString);
            return(connectionString);
        }
        public void CanConnectToOracleAndExecuteAReader()
        {
            var oracleDatabase = new DatabaseSyntheticConfigSettings(this.configurationSource).GetDatabase("OracleTest").BuildDatabase();

            DbConnection connection = oracleDatabase.CreateConnection();
            Assert.IsNotNull(connection);
            Assert.IsTrue(connection is OracleConnection);
            connection.Open();
            DbCommand cmd = oracleDatabase.GetSqlStringCommand("Select * from Region");
            cmd.CommandTimeout = 0;
        }
        public void ConnectionTest()
        {
            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(TestConfigurationSource.CreateConfigurationSource());
            ConnectionStringSettings data = settings.GetConnectionStringSettings("NewDatabase");
            SqlDatabase sqlDatabase = new SqlDatabase(data.ConnectionString);

            DbConnection connection = sqlDatabase.CreateConnection();
            Assert.IsNotNull(connection);
            Assert.IsTrue(connection is SqlConnection);
            connection.Open();
            DbCommand cmd = sqlDatabase.GetSqlStringCommand("Select * from Region");
            cmd.CommandTimeout = 60;
            Assert.AreEqual(cmd.CommandTimeout, 60);
        }
 private static DbProviderMapping GetProviderMapping(
     string dbProviderName,
     DatabaseSettings databaseSettings)
 {
     if (databaseSettings != null)
     {
         DbProviderMapping dbProviderMapping = databaseSettings.ProviderMappings.Get(dbProviderName);
         if (dbProviderMapping != null)
         {
             return(dbProviderMapping);
         }
     }
     return(DatabaseSyntheticConfigSettings.GetDefaultMapping(dbProviderName) ?? DatabaseSyntheticConfigSettings.GetGenericMapping());
 }
        public void WillGetDefaultMappingIfProviderTypeIsNotMappedAndDefaultExistsForSql()
        {
            DatabaseSettings databaseSettings = new DatabaseSettings();

            DictionaryConfigurationSource source = new DictionaryConfigurationSource();
            source.Add(DatabaseSettings.SectionName, databaseSettings);

            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source);
            DbProviderMapping mapping = settings.GetProviderMapping(DbProviderMapping.DefaultSqlProviderName);

            Assert.IsNotNull(mapping);
            Assert.AreEqual(DbProviderMapping.DefaultSqlProviderName, mapping.DbProviderName);
            Assert.AreEqual(typeof(SqlDatabase), mapping.DatabaseType);
        }
        public void Given()
        {
            configurationSource = new DictionaryConfigurationSource();
            var connectionStringsSection = new ConnectionStringsSection();
            connectionStringsSection.ConnectionStrings.Add(
                new ConnectionStringSettings
                    {
                        Name = "odbc connection",
                        ConnectionString = "connection string",
                        ProviderName = "System.Data.Odbc"
                    });
            configurationSource.Add("connectionStrings", connectionStringsSection);

            settings = new DatabaseSyntheticConfigSettings(configurationSource.GetSection);
        }
        public void WillGetMappedProviderTypeEvenIfDefaultExists()
        {
            DatabaseSettings databaseSettings = new DatabaseSettings();
            databaseSettings.ProviderMappings.Add(new DbProviderMapping(DbProviderMapping.DefaultSqlProviderName, typeof(GenericDatabase)));

            DictionaryConfigurationSource source = new DictionaryConfigurationSource();
            source.Add(DatabaseSettings.SectionName, databaseSettings);

            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source);
            DbProviderMapping mapping = settings.GetProviderMapping(DbProviderMapping.DefaultSqlProviderName);

            Assert.IsNotNull(mapping);
            Assert.AreEqual(DbProviderMapping.DefaultSqlProviderName, mapping.DbProviderName);
            Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType);
        }
        private IEnumerable <TypeRegistration> DoGetRegistrations()
        {
            string defaultDatabase = this.DefaultDatabase;

            foreach (DatabaseData databaseData in this.Databases.ToList <DatabaseData>())
            {
                foreach (TypeRegistration typeRegistration in databaseData.GetRegistrations().ToList <TypeRegistration>())
                {
                    if (typeRegistration.ServiceType == typeof(Database) && string.Equals(typeRegistration.Name, defaultDatabase))
                    {
                        typeRegistration.IsDefault = true;
                    }
                    yield return(typeRegistration);

                    yield return(DatabaseSyntheticConfigSettings.GetInstrumentationProviderRegistration(typeRegistration.Name, this.configurationSource));
                }
            }
            yield return(this.GetDefaultDataEventLoggerRegistration());
        }
 public void CheckNoPasswordInConnectionStringWithPersistInfoEqualsFalse()
 {
     try
     {
         CreateUser();
         DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(TestConfigurationSource.CreateConfigurationSource());
         ConnectionStringSettings data = settings.GetConnectionStringSettings("NorthwindPersistFalse");
         SqlDatabase sqlDatabase = new SqlDatabase(data.ConnectionString);
         DbConnection dbConnection = sqlDatabase.CreateConnection();
         dbConnection.Open();
         dbConnection.Close();
         string connectionString = dbConnection.ConnectionString;
         if (connectionString.ToLower().Contains("pwd") || connectionString.ToLower().Contains("password"))
         {
             Assert.Fail();
         }
     }
     finally
     {
         DeleteUser();
     }
 }
        public DbProviderMapping GetProviderMapping(string dbProviderName)
        {
            DatabaseSettings section = (DatabaseSettings)this.configurationSource.GetSection("dataConfiguration");

            return(DatabaseSyntheticConfigSettings.GetProviderMapping(dbProviderName, section));
        }
 private DatabaseData GetDatabaseData(
     ConnectionStringSettings connectionString,
     DatabaseSettings databaseSettings)
 {
     return(DatabaseSyntheticConfigSettings.CreateDatabaseData(DatabaseSyntheticConfigSettings.GetAttribute(DatabaseSyntheticConfigSettings.GetProviderMapping(connectionString.ProviderName, databaseSettings).DatabaseType).ConfigurationType, connectionString, this.configurationSource));
 }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(
                new ConnectionStringSettings("someSetting", "someConnectionString", "System.Data.OracleClient"));
            configSource.Add("connectionStrings", connectionStrings);

            var oracleConnectionData = new OracleConnectionData { Name = "someSetting" };
            oracleConnectionData.Packages.Add(new OraclePackageData("foo", "bar"));
            var oracleSettings = new OracleConnectionSettings();
            oracleSettings.OracleConnectionsData.Add(oracleConnectionData);
            configSource.Add(OracleConnectionSettings.SectionName, oracleSettings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
 public void Setup()
 {
     configSource = new DictionaryConfigurationSource();
     configSettings = new DatabaseSyntheticConfigSettings(configSource);
 }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(
                new ConnectionStringSettings("someSetting", "someConnectionString", "System.Data.Odbc"));
            configSource.Add("connectionStrings", connectionStrings);

            var databaseSettings = new DatabaseSettings();
            databaseSettings.ProviderMappings.Add(new DbProviderMapping("System.Data.Odbc", typeof(TestDatabase)));
            configSource.Add(DatabaseSettings.SectionName, databaseSettings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(
                new ConnectionStringSettings("someSetting", "someConnectionString", "System.Data.OracleClient"));
            configSource.Add("connectionStrings", connectionStrings);

            var oracleSettings = new OracleConnectionSettings();
            configSource.Add(OracleConnectionSettings.SectionName, oracleSettings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
        public void WillGetGenericMappingIfDatabaseSettingsSectionDoesNotExist()
        {
            DictionaryConfigurationSource source = new DictionaryConfigurationSource();

            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source);
            DbProviderMapping mapping = settings.GetProviderMapping(OdbcProviderName);

            Assert.IsNotNull(mapping);
            Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType);
        }
 public void Context()
 {
     configurationSource = new DictionaryConfigurationSource();
     connectionStringsSection = new ConnectionStringsSection();
     connectionStringsSection.ConnectionStrings.Add(
         new ConnectionStringSettings
             {
                 Name = "sql connection",
                 ConnectionString = "connection string",
                 ProviderName = "System.Data.SqlClient"
             });
     connectionStringsSection.ConnectionStrings.Add(
         new ConnectionStringSettings
             {
                 Name = "odbc connection",
                 ConnectionString = "odbc connection string",
                 ProviderName = "System.Data.Odbc"
             });
     connectionStringsSection.ConnectionStrings.Add(
         new ConnectionStringSettings
             {
                 Name = "oracle connection",
                 ConnectionString = "oracle connection string",
                 ProviderName = "System.Data.OracleClient"
             });
     configurationSource.Add("connectionStrings", connectionStringsSection);
     settings = new DatabaseSyntheticConfigSettings();
 }
 protected override void Arrange()
 {
     configurationSource = new DictionaryConfigurationSource();
     configurationSource.Add("connectionStrings", new ConnectionStringsSection());
     settings = new DatabaseSyntheticConfigSettings();
 }
        public void Given()
        {
            // Setup connection strings
            configurationSource = new DictionaryConfigurationSource();
            var connectionStringsSection = new ConnectionStringsSection();
            connectionStringsSection.ConnectionStrings.Add(
                new ConnectionStringSettings
                    {
                        Name = "myConnectionName",
                        ConnectionString = "myConnectionString",
                        ProviderName = "System.Data.OracleClient"
                    }
                );

            configurationSource.Add("connectionStrings", connectionStringsSection);

            // Setup oracle configuration sections
            var oracleConnectionData = new OracleConnectionData { Name = "myConnectionName" };
            oracleConnectionData.Packages.Add(new OraclePackageData("foo", "bar"));

            var oracleSettings = new OracleConnectionSettings();
            oracleSettings.OracleConnectionsData.Add(oracleConnectionData);
            configurationSource.Add(OracleConnectionSettings.SectionName, oracleSettings);


            settings = new DatabaseSyntheticConfigSettings(configurationSource.GetSection);
        }
 public void Given()
 {
     configurationSource = new DictionaryConfigurationSource();
     var connectionStringsSection = new ConnectionStringsSection();
     connectionStringsSection.ConnectionStrings.Add(
         new ConnectionStringSettings
         {
             Name = "sql connection",
             ConnectionString = "connection string",
             ProviderName = "System.Data.SqlClient"
         });
     configurationSource.Add("connectionStrings", connectionStringsSection);
     configurationSource.Add(
         DatabaseSettings.SectionName,
         new DatabaseSettings { DefaultDatabase = "sql connection" });
     settings = new DatabaseSyntheticConfigSettings();
 }
 public IEnumerable <TypeRegistration> GetRegistrations(
     IConfigurationSource configurationSource)
 {
     if (configurationSource == null)
     {
         throw new ArgumentNullException(nameof(configurationSource));
     }
     this.configurationSource = configurationSource;
     return((IEnumerable <TypeRegistration>) this.DoGetRegistrations().Select <TypeRegistration, TypeRegistration>((Func <TypeRegistration, TypeRegistration>)(r => DatabaseSyntheticConfigSettings.MarkAsPublicName <Database>(r))).ToList <TypeRegistration>());
 }
 public void Setup()
 {
     configSource = new DictionaryConfigurationSource();
     configSource.Add("connectionStrings", new ConnectionStringsSection());
     configSettings = new DatabaseSyntheticConfigSettings(configSource);
 }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(new ConnectionStringSettings("someSetting", "someConnectionString"));

            configSource.Add("connectionStrings", connectionStrings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }
        public void WillGetDefaultMappingIfDatabaseSettingsSectionDoesNotExistForSql()
        {
            DictionaryConfigurationSource source = new DictionaryConfigurationSource();

            DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source);
            DbProviderMapping mapping = settings.GetProviderMapping(DbProviderMapping.DefaultSqlProviderName);

            Assert.IsNotNull(mapping);
            Assert.AreEqual(DbProviderMapping.DefaultSqlProviderName, mapping.DbProviderName);
            Assert.AreEqual(typeof(SqlDatabase), mapping.DatabaseType);
        }
            public DatabaseConfigurationBuilder(Func<string, ConfigurationSection> configurationAccessor)
            {
                Guard.ArgumentNotNull(configurationAccessor, "configurationAccessor");

                this.settings = new DatabaseSyntheticConfigSettings(configurationAccessor);
                this.databases = new ConcurrentDictionary<string, DatabaseData>();
            }
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();
            connectionStrings.ConnectionStrings.Add(new ConnectionStringSettings
                                                        {
                                                            Name = "someSetting",
                                                            ConnectionString = "someConnectionString",
                                                            ProviderName = "non registered"
                                                        });

            configSource.Add("connectionStrings", connectionStrings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource);
        }