private bool OverrideWithGroupPoliciesForDbProviderMapping(DbProviderMapping providerMapping, bool readGroupPolicies, IRegistryKey machineKey, IRegistryKey userKey) { if (readGroupPolicies) { IRegistryKey policyKey = machineKey ?? userKey; if (policyKey != null) { if (policyKey.IsPolicyKey && !policyKey.GetBoolValue(PolicyValueName).Value) { return(false); } try { Type databaseTypeOverride = policyKey.GetTypeValue(DatabaseTypePropertyName); providerMapping.DatabaseType = databaseTypeOverride; } catch (RegistryAccessException ex) { LogExceptionWhileOverriding(ex); } } } return(true); }
private void InitDictionaryConfigurationSource() { DictionaryConfigurationSource configurationSource = new DictionaryConfigurationSource(); if (Connections != null) { ConnectionStringsSection section = new ConnectionStringsSection(); foreach (Connection conn in Connections) { section.ConnectionStrings.Add(new ConnectionStringSettings(conn.Name, conn.ConnectionString, conn.ProviderName)); } configurationSource.Add("connectionStrings", section); } if (Providers != null) { DatabaseSettings settings = new DatabaseSettings(); foreach (Provider provider in Providers) { DbProviderMapping providerMapping = new DbProviderMapping(provider.Name, provider.DatabaseType); settings.ProviderMappings.Add(providerMapping); } configurationSource.Add(DatabaseSettings.SectionName, settings); } DictionaryConfigurationSource = configurationSource; }
public void ProviderMappingWithDisabledPolicyIsNotRemovedIfGroupPoliciesAreDisabled() { DbProviderMapping providerMapping1 = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping1); DbProviderMapping providerMapping2 = new DbProviderMapping("provider2", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping2); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMapping1MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMapping1MachineKey); providerMapping1MachineKey.AddBooleanValue(AdmContentBuilder.AvailableValueName, false); MockRegistryKey providerMapping2MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider2", providerMapping2MachineKey); providerMapping2MachineKey.AddBooleanValue(AdmContentBuilder.AvailableValueName, true); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, false, machineKey, userKey, true, wmiSettings); Assert.AreEqual(2, section.ProviderMappings.Count); Assert.IsNotNull(section.ProviderMappings.Get("provider1")); Assert.IsNotNull(section.ProviderMappings.Get("provider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMapping1MachineKey, providerMapping2MachineKey, providerMappingsMachineKey)); }
protected override void Initialize() { DatabaseConfigurationView configurationView = new DatabaseConfigurationView(ConfigurationSource); string defaultDatabaseName = configurationView.DefaultName; foreach (ConnectionStringSettings connectionStringSettings in configurationView.GetConnectionStringSettingsCollection()) { if (IsValidProviderName(connectionStringSettings.ProviderName)) { DbProviderMapping mapping = configurationView.GetProviderMapping( connectionStringSettings.Name, connectionStringSettings.ProviderName); Type databaseType = mapping.DatabaseType; this.Context.Policies.Set <IBuildKeyMappingPolicy>( new BuildKeyMappingPolicy(new NamedTypeBuildKey(databaseType, connectionStringSettings.Name)), NamedTypeBuildKey.Make <Database>(connectionStringSettings.Name)); if (connectionStringSettings.Name == defaultDatabaseName) { this.Context.Policies.Set <IBuildKeyMappingPolicy>( new BuildKeyMappingPolicy(new NamedTypeBuildKey(databaseType, connectionStringSettings.Name)), NamedTypeBuildKey.Make <Database>()); } IContainerPolicyCreator policyCreator = GetContainerPolicyCreator(databaseType, null); policyCreator.CreatePolicies( this.Context.Policies, connectionStringSettings.Name, connectionStringSettings, this.ConfigurationSource); } } }
public void ProviderMappingWithDisabledPolicyIsRemoved() { DbProviderMapping providerMapping1 = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping1); DbProviderMapping providerMapping2 = new DbProviderMapping("provider2", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping2); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMapping1MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMapping1MachineKey); providerMapping1MachineKey.AddBooleanValue(DatabaseSettingsManageabilityProvider.PolicyValueName, false); MockRegistryKey providerMapping2MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider2", providerMapping2MachineKey); providerMapping2MachineKey.AddBooleanValue(DatabaseSettingsManageabilityProvider.PolicyValueName, true); providerMapping2MachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(GenericDatabase).AssemblyQualifiedName); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, true, wmiSettings); Assert.AreEqual(1, section.ProviderMappings.Count); Assert.IsNotNull(section.ProviderMappings.Get("provider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMapping1MachineKey, providerMapping2MachineKey, providerMappingsMachineKey)); }
private bool OverrideWithGroupPoliciesForDbProviderMapping( DbProviderMapping providerMapping, bool readGroupPolicies, IRegistryKey machineKey, IRegistryKey userKey) { if (readGroupPolicies) { IRegistryKey registryKey = machineKey ?? userKey; if (registryKey != null) { if (registryKey.IsPolicyKey) { if (!registryKey.GetBoolValue("Available").Value) { return(false); } } try { Type typeValue = registryKey.GetTypeValue("databaseType"); providerMapping.DatabaseType = typeValue; } catch (RegistryAccessException ex) { this.LogExceptionWhileOverriding((Exception)ex); } } } return(true); }
public void CanDeserializeSerializedConfiguration() { DatabaseSettings settings = new DatabaseSettings(); DbProviderMapping mappingData1 = new DbProviderMapping(providerName1, typeof(OracleDatabase)); DbProviderMapping mappingData2 = new DbProviderMapping(providerName2, typeof(SqlDatabase)); settings.DefaultDatabase = databaseName1; settings.ProviderMappings.Add(mappingData1); settings.ProviderMappings.Add(mappingData2); IDictionary<string, ConfigurationSection> sections = new Dictionary<string, ConfigurationSection>(); sections[DatabaseSettings.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); DatabaseSettings roSettigs = (DatabaseSettings)configurationSource.GetSection(DatabaseSettings.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(2, roSettigs.ProviderMappings.Count); Assert.AreEqual(databaseName1, roSettigs.DefaultDatabase); Assert.IsNotNull(roSettigs.ProviderMappings.Get(providerName1)); Assert.AreSame(typeof(OracleDatabase), roSettigs.ProviderMappings.Get(providerName1).DatabaseType); Assert.AreEqual(providerName1, roSettigs.ProviderMappings.Get(providerName1).DbProviderName); }
public static bool SaveChanges(ProviderMappingSetting providerMappingSetting, ConfigurationElement sourceElement) { DbProviderMapping element = (DbProviderMapping)sourceElement; element.DatabaseTypeName = providerMappingSetting.DatabaseType; return(true); }
public void CanDeserializeSerializedConfiguration() { DatabaseSettings settings = new DatabaseSettings(); DbProviderMapping mappingData1 = new DbProviderMapping(providerName1, typeof(OracleDatabase)); DbProviderMapping mappingData2 = new DbProviderMapping(providerName2, typeof(SqlDatabase)); settings.DefaultDatabase = databaseName1; settings.ProviderMappings.Add(mappingData1); settings.ProviderMappings.Add(mappingData2); IDictionary <string, ConfigurationSection> sections = new Dictionary <string, ConfigurationSection>(); sections[DatabaseSettings.SectionName] = settings; IConfigurationSource configurationSource = ConfigurationTestHelper.SaveSectionsInFileAndReturnConfigurationSource(sections); DatabaseSettings roSettigs = (DatabaseSettings)configurationSource.GetSection(DatabaseSettings.SectionName); Assert.IsNotNull(roSettigs); Assert.AreEqual(2, roSettigs.ProviderMappings.Count); Assert.AreEqual(databaseName1, roSettigs.DefaultDatabase); Assert.IsNotNull(roSettigs.ProviderMappings.Get(providerName1)); Assert.AreSame(typeof(OracleDatabase), roSettigs.ProviderMappings.Get(providerName1).DatabaseType); Assert.AreEqual(providerName1, roSettigs.ProviderMappings.Get(providerName1).DbProviderName); }
public void MachineOverrideTakesPrecedenceOverUserOverride() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); MockRegistryKey providerMappingUserKey = new MockRegistryKey(false); providerMappingUserKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(GenericDatabase).AssemblyQualifiedName); MockRegistryKey providerMappingsUserKey = new MockRegistryKey(false); providerMappingsUserKey.AddSubKey("provider1", providerMappingUserKey); userKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsUserKey); MockRegistryKey providerMappingMachineKey = new MockRegistryKey(false); providerMappingMachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(OracleDatabase).AssemblyQualifiedName); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMappingMachineKey); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, false, wmiSettings); Assert.AreSame(typeof(OracleDatabase), providerMapping.DatabaseType); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMappingUserKey, providerMappingsUserKey, providerMappingMachineKey, providerMappingsMachineKey)); }
/// <summary> /// Creates the <see cref="ProviderMappingSetting"/> instances that describe the configurationObject. /// </summary> /// <param name="providerMapping">The configuration object for instances that must be managed.</param> /// <param name="wmiSettings">A collection to where the generated WMI objects are to be added.</param> public static void GenerateDbProviderMappingWmiObjects(DbProviderMapping providerMapping, ICollection <ConfigurationSetting> wmiSettings) { wmiSettings.Add( new ProviderMappingSetting(providerMapping, providerMapping.DbProviderName, providerMapping.DatabaseType.AssemblyQualifiedName)); }
public ProviderMappingNode(DbProviderMapping dbProviderMapping) : base(dbProviderMapping == null ? "System.Data.SqlClient" : dbProviderMapping.Name) { if (dbProviderMapping == null) { throw new ArgumentNullException("dbProviderMapping"); } this.databaseTypeName = dbProviderMapping.DatabaseTypeName; }
public void WillGetGenericMappingIfDatabaseSettingsSectionDoesNotExist() { DictionaryConfigurationSource source = new DictionaryConfigurationSource(); DatabaseConfigurationView view = new DatabaseConfigurationView(source); DbProviderMapping mapping = view.GetProviderMapping("ignore", OdbcProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType); }
/// <summary> /// Initialize a new instance of the <see cref="ProviderMappingNode"/> class with a <see cref="DbProviderMapping"/> instance. /// </summary> /// <param name="dbProviderMapping">A <see cref="DbProviderMapping"/> instance.</param> public ProviderMappingNode(DbProviderMapping dbProviderMapping) : base(dbProviderMapping == null ? "System.Data.SqlClient" : dbProviderMapping.Name) { if (dbProviderMapping == null) { throw new ArgumentNullException("dbProviderMapping"); } this.databaseType = dbProviderMapping.DatabaseType; }
public void ProviderMappingWithoutOverridesIsNotModified() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, false, wmiSettings); Assert.AreSame(typeof(SqlDatabase), providerMapping.DatabaseType); }
public object CreateObject(IBuilderContext context, string name, IConfigurationSource configurationSource, ConfigurationReflectionCache reflectionCache) { DatabaseConfigurationView configurationView = new DatabaseConfigurationView(configurationSource); ConnectionStringSettings connectionStringSettings = configurationView.GetConnectionStringSettings(name); DbProviderMapping mapping = configurationView.GetProviderMapping(name, connectionStringSettings.ProviderName); IDatabaseAssembler assembler = GetAssembler(mapping.DatabaseType, name, reflectionCache); Database database = assembler.Assemble(name, connectionStringSettings, configurationSource); return(database); }
public void WillGetDefaultMappingIfDatabaseSettingsSectionDoesNotExistForSql() { DictionaryConfigurationSource source = new DictionaryConfigurationSource(); DatabaseConfigurationView view = new DatabaseConfigurationView(source); DbProviderMapping mapping = view.GetProviderMapping("ignore", DbProviderMapping.DefaultSqlProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(DbProviderMapping.DefaultSqlProviderName, mapping.DbProviderName); Assert.AreEqual(typeof(SqlDatabase), mapping.DatabaseType); }
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); }
/// <summary /> public IDatabaseProviderConfiguration WithProviderNamed(string providerName) { Guard.ArgumentNotNullOrEmpty(providerName, "providerName"); EnsureDatabaseSettings(); currentProviderMapping = new DbProviderMapping(); currentProviderMapping.Name = providerName; currentProviderMapping.DatabaseType = typeof(GenericDatabase); currentDatabaseSection.ProviderMappings.Add(currentProviderMapping); return(this); }
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 void WillGetGenericMappingIfProviderTypeIsNotMappedAndDefaultDoesNotExist() { DatabaseSettings databaseSettings = new DatabaseSettings(); DictionaryConfigurationSource source = new DictionaryConfigurationSource(); source.Add(DatabaseSettings.SectionName, databaseSettings); DatabaseConfigurationView view = new DatabaseConfigurationView(source); DbProviderMapping mapping = view.GetProviderMapping("ignore", OdbcProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType); }
public IDatabaseProviderConfiguration WithProviderNamed( string providerName) { if (string.IsNullOrEmpty(providerName)) { throw new ArgumentException(Microsoft.Practices.EnterpriseLibrary.Common.Properties.Resources.ExceptionStringNullOrEmpty, nameof(providerName)); } this.EnsureDatabaseSettings(); this.currentProviderMapping = new DbProviderMapping(); this.currentProviderMapping.Name = providerName; this.currentProviderMapping.DatabaseType = typeof(GenericDatabase); this.currentDatabaseSection.ProviderMappings.Add(this.currentProviderMapping); return((IDatabaseProviderConfiguration)this); }
/// <summary /> public IDatabaseProviderConfiguration WithProviderNamed(string providerName) { if (string.IsNullOrEmpty(providerName)) { throw new ArgumentException(Properties.Resources.ExceptionStringNullOrEmpty, "providerName"); } EnsureDatabaseSettings(); currentProviderMapping = new DbProviderMapping(); currentProviderMapping.Name = providerName; currentProviderMapping.DatabaseType = typeof(GenericDatabase); currentDatabaseSection.ProviderMappings.Add(currentProviderMapping); return(this); }
public void SavesChangesToConfigurationObject() { DbProviderMapping sourceElement = new DbProviderMapping("name", typeof(bool)); List <ConfigurationSetting> settings = new List <ConfigurationSetting>(1); DatabaseSettingsWmiMapper.GenerateDbProviderMappingWmiObjects(sourceElement, settings); Assert.AreEqual(1, settings.Count); ProviderMappingSetting setting = settings[0] as ProviderMappingSetting; Assert.IsNotNull(setting); setting.DatabaseType = typeof(int).AssemblyQualifiedName; setting.Commit(); Assert.AreEqual(typeof(int).AssemblyQualifiedName, sourceElement.DatabaseTypeName); }
public void WillGetDefaultMappingIfProviderTypeIsNotMappedAndDefaultExistsForOracle() { DatabaseSettings databaseSettings = new DatabaseSettings(); DictionaryConfigurationSource source = new DictionaryConfigurationSource(); source.Add(DatabaseSettings.SectionName, databaseSettings); DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source); DbProviderMapping mapping = settings.GetProviderMapping(DbProviderMapping.DefaultOracleProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(DbProviderMapping.DefaultOracleProviderName, mapping.DbProviderName); Assert.AreEqual(typeof(OracleDatabase), mapping.DatabaseType); }
public void CreateNamedDatabaseInstanceWithDictSource() { DictionaryConfigurationSource source = new DictionaryConfigurationSource(); DatabaseSettings settings = new DatabaseSettings(); ConnectionStringsSection connSection = GetConnectionStringsSection(); DbProviderMapping providerMapping = GetProviderMapping(); settings.ProviderMappings.Add(providerMapping); source.Add("dataConfiguration", settings); source.Add("connectionStrings", connSection); DatabaseProviderFactory factory = new DatabaseProviderFactory(source); Database dbIns = factory.Create(instanceName); Assert.IsNotNull(dbIns); }
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); DatabaseConfigurationView view = new DatabaseConfigurationView(source); DbProviderMapping mapping = view.GetProviderMapping("ignore", DbProviderMapping.DefaultSqlProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(DbProviderMapping.DefaultSqlProviderName, mapping.DbProviderName); Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType); }
public void DatabaseCreatedByProviderFactoryIsASqlCeDatabase() { DictionaryConfigurationSource source = new DictionaryConfigurationSource(); DatabaseSettings settings = new DatabaseSettings(); ConnectionStringsSection connSection = GetConnectionStringsSection(); DbProviderMapping providerMapping = GetProviderMapping(); settings.ProviderMappings.Add(providerMapping); source.Add("dataConfiguration", settings); source.Add("connectionStrings", connSection); DatabaseProviderFactory factory = new DatabaseProviderFactory(source); Database db = factory.Create(instanceName); Assert.IsNotNull(db); Assert.AreSame(typeof(SqlCeDatabase), db.GetType()); }
public void WillGetMappedProviderType() { DatabaseSettings databaseSettings = new DatabaseSettings(); databaseSettings.ProviderMappings.Add(new DbProviderMapping(OdbcProviderName, typeof(GenericDatabase))); DictionaryConfigurationSource source = new DictionaryConfigurationSource(); source.Add(DatabaseSettings.SectionName, databaseSettings); DatabaseSyntheticConfigSettings settings = new DatabaseSyntheticConfigSettings(source); DbProviderMapping mapping = settings.GetProviderMapping(OdbcProviderName); Assert.IsNotNull(mapping); Assert.AreEqual(OdbcProviderName, mapping.DbProviderName); Assert.AreEqual(typeof(GenericDatabase), mapping.DatabaseType); }
public DbProviderMapping GetProviderMapping(string name, string dbProviderName) { DatabaseSettings settings = this.DatabaseSettings; if (settings != null) { DbProviderMapping existingMapping = settings.ProviderMappings.Get(dbProviderName); if (existingMapping != null) { return(existingMapping); } } DbProviderMapping defaultMapping = this.GetDefaultMapping(name, dbProviderName); if (defaultMapping != null) { return(defaultMapping); } return(this.GetGenericMapping()); }
public void OverrideForMissingProviderIsIgnored() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); MockRegistryKey providerMappingKey = new MockRegistryKey(false); providerMappingKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(OracleDatabase).AssemblyQualifiedName); MockRegistryKey providerMappingsKey = new MockRegistryKey(false); providerMappingsKey.AddSubKey("provider2", providerMappingKey); userKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreSame(typeof(SqlDatabase), providerMapping.DatabaseType); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMappingKey, providerMappingsKey)); }
public void DatabaseTypeOverrideWithInvalidTypeNameIsIgnored() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMappingMachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMappingMachineKey); providerMappingMachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, "invalid type name"); provider.OverrideWithGroupPoliciesAndGenerateWmiObjects(section, true, machineKey, userKey, false, wmiSettings); Assert.AreSame(typeof(SqlDatabase), providerMapping.DatabaseType); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMappingMachineKey, providerMappingsMachineKey)); }
public void ProviderMappingWithoutOverridesIsNotModified() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreSame(typeof(SqlDatabase), providerMapping.DatabaseType); }
public void OverridesForProviderMappingsAreIndependent() { DbProviderMapping providerMapping1 = new DbProviderMapping("provider1", typeof(OracleDatabase)); DbProviderMapping providerMapping2 = new DbProviderMapping("provider2", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping1); section.ProviderMappings.Add(providerMapping2); MockRegistryKey providerMappingUserKey = new MockRegistryKey(false); providerMappingUserKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(GenericDatabase).AssemblyQualifiedName); MockRegistryKey providerMappingsUserKey = new MockRegistryKey(false); providerMappingsUserKey.AddSubKey("provider1", providerMappingUserKey); userKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsUserKey); MockRegistryKey providerMappingMachineKey = new MockRegistryKey(false); providerMappingMachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(OracleDatabase).AssemblyQualifiedName); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider2", providerMappingMachineKey); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreSame(typeof(GenericDatabase), providerMapping1.DatabaseType); Assert.AreSame(typeof(OracleDatabase), providerMapping2.DatabaseType); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMappingUserKey, providerMappingsUserKey, providerMappingMachineKey, providerMappingsMachineKey)); }
public void DatabaseTypeOverrideWithInvalidTypeNameIsIgnored() { DbProviderMapping providerMapping = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMappingMachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMappingMachineKey); providerMappingMachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, "invalid type name"); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreSame(typeof(SqlDatabase), providerMapping.DatabaseType); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMappingMachineKey, providerMappingsMachineKey)); }
public void ProviderMappingWithDisabledPolicyIsRemoved() { DbProviderMapping providerMapping1 = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping1); DbProviderMapping providerMapping2 = new DbProviderMapping("provider2", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping2); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMapping1MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMapping1MachineKey); providerMapping1MachineKey.AddBooleanValue(DatabaseSettingsManageabilityProvider.PolicyValueName, false); MockRegistryKey providerMapping2MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider2", providerMapping2MachineKey); providerMapping2MachineKey.AddBooleanValue(DatabaseSettingsManageabilityProvider.PolicyValueName, true); providerMapping2MachineKey.AddStringValue(DatabaseSettingsManageabilityProvider.DatabaseTypePropertyName, typeof(GenericDatabase).AssemblyQualifiedName); provider.OverrideWithGroupPolicies(section, true, machineKey, userKey); Assert.AreEqual(1, section.ProviderMappings.Count); Assert.IsNotNull(section.ProviderMappings.Get("provider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMapping1MachineKey, providerMapping2MachineKey, providerMappingsMachineKey)); }
public void ProviderMappingWithDisabledPolicyIsNotRemovedIfGroupPoliciesAreDisabled() { DbProviderMapping providerMapping1 = new DbProviderMapping("provider1", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping1); DbProviderMapping providerMapping2 = new DbProviderMapping("provider2", typeof(SqlDatabase)); section.ProviderMappings.Add(providerMapping2); MockRegistryKey providerMappingsMachineKey = new MockRegistryKey(false); machineKey.AddSubKey(DatabaseSettingsManageabilityProvider.ProviderMappingsKeyName, providerMappingsMachineKey); MockRegistryKey providerMapping1MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider1", providerMapping1MachineKey); providerMapping1MachineKey.AddBooleanValue(AdmContentBuilder.AvailableValueName, false); MockRegistryKey providerMapping2MachineKey = new MockRegistryKey(false); providerMappingsMachineKey.AddSubKey("provider2", providerMapping2MachineKey); providerMapping2MachineKey.AddBooleanValue(AdmContentBuilder.AvailableValueName, true); provider.OverrideWithGroupPolicies(section, false, machineKey, userKey); Assert.AreEqual(2, section.ProviderMappings.Count); Assert.IsNotNull(section.ProviderMappings.Get("provider1")); Assert.IsNotNull(section.ProviderMappings.Get("provider2")); Assert.IsTrue(MockRegistryKey.CheckAllClosed(providerMapping1MachineKey, providerMapping2MachineKey, providerMappingsMachineKey)); }
static DatabaseWrapperFactory() { defaultSqlMapping = new DbProviderMapping("System.Data.SqlClient", typeof(SqlDatabase)); defaultMySqlMapping = new DbProviderMapping("MySql.Data.MySqlClient", typeof(MySqlClientFactory)); defaultGenericMapping = new DbProviderMapping("generic", typeof(GenericDatabase)); }