Esempio n. 1
0
        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);

            configSettings = new DatabaseSyntheticConfigSettings(configSource.GetSection);
        }
Esempio n. 2
0
        //Agrega nueva cadena de coneccion si radioButton1.Checked = true
        void AddNewCnnString()
        {
            if (radioButton1.Checked == true)
            {
                return;
            }
            ConnectionStringsSection config = (ConnectionStringsSection)configuration.Sections["connectionStrings"];

            ConnectionStringSettings wConnectionStringSettings = new ConnectionStringSettings(txtCnnStringName.Text, txtCnnStringValue.Text, "System.Data.SqlClient");

            config.ConnectionStrings.Add(wConnectionStringSettings);
            configuration.Save(ConfigurationSaveMode.Minimal, true);
        }
Esempio n. 3
0
        public void CreateNamedDatabaseInstanceWithDictSource()
        {
            DictionaryConfigurationSource source = new DictionaryConfigurationSource();
            DatabaseSettings         settings    = new DatabaseSettings();
            ConnectionStringsSection connSection = GetConnectionStringsSection();

            source.Add("dataConfiguration", settings);
            source.Add("connectionStrings", connSection);
            DatabaseProviderFactory factory = new DatabaseProviderFactory(source);
            Database dbIns = factory.Create(instanceName);

            Assert.IsNotNull(dbIns);
        }
 private static void RewriteConnection(
     string overrideTestDb,
     string overrideTestDbQueryString,
     ConnectionStringsSection connectionStringsSection,
     string connectionStringName,
     string databaseName)
 {
     connectionStringsSection.ConnectionStrings[connectionStringName].ConnectionString =
         overrideTestDb.TrimEnd('/') +
         "/" +
         databaseName.Trim('/') +
         overrideTestDbQueryString;
 }
Esempio n. 5
0
        public void Setup()
        {
            var configSource = new DictionaryConfigurationSource();

            var connectionStrings = new ConnectionStringsSection();

            connectionStrings.ConnectionStrings.Add(
                new ConnectionStringSettings("someSetting", "someConnectionString", "Oracle.ManagedDataAccess.Client"));

            configSource.Add("connectionStrings", connectionStrings);

            configSettings = new DatabaseSyntheticConfigSettings(configSource.GetSection);
        }
Esempio n. 6
0
    internal static ConnectionStringsSection GetEncryptedConnectionStringsSection(string exeConfigName)
    {
        // Open the configuration file and retrieve
        // the connectionStrings section.
        System.Configuration.Configuration config = ConfigurationManager.
                                                    OpenExeConfiguration(exeConfigName);
        ConnectionStringsSection section =
            config.GetSection("connectionStrings")
            as ConnectionStringsSection;

        EncryptConfigSection(config, section);
        return(section);
    }
Esempio n. 7
0
        public void Install()
        {
            log.Info(Request.UserHostAddress + "执行系统初始化。");
            // concatenate connection string
            string connectionString = "data source = {server}; initial catalog = {dbname};integrated security = {type};" +
                                      "user id = {dbusername}; password = {dbpassword}; MultipleActiveResultSets = True; App = EntityFramework";

            string[] keywords = { "server", "dbname", "type", "dbusername", "dbpassword" };
            foreach (string key in keywords)
            {
                connectionString = connectionString.Replace("{" + key + "}", Request.Form[key]);
            }

            try
            {
                // get sql file path and create table into database.
                string   path            = HttpContext.Server.MapPath("/install/ExamSystem.sql");
                FileInfo file            = new FileInfo(path);
                string   dbInstallString = file.OpenText().ReadToEnd();

                using (SqlConnection connection = new SqlConnection(connectionString))
                {
                    SqlCommand command = new SqlCommand(dbInstallString, connection);
                    command.Parameters.AddWithValue("@username", Request.Form["username"]);
                    command.Parameters.AddWithValue("@password", Hash.SHA512(Request.Form["password"]));
                    command.Parameters.AddWithValue("@nickname", Request.Form["nickname"]);
                    command.Parameters.AddWithValue("@email", Request.Form["email"]);

                    command.Connection.Open();
                    command.ExecuteNonQuery();
                    command.Connection.Close();
                }
            }
            catch (Exception e)
            {
                log.Fatal(e.Message);
                Response.Redirect("/Install/Index?error=1");
                return;
            }

            // write connection string into Web.config
            Configuration            config             = WebConfigurationManager.OpenWebConfiguration("~");
            ConnectionStringsSection connectionSettings = (ConnectionStringsSection)config.GetSection("connectionStrings");

            connectionSettings.ConnectionStrings["ExamSystemContext"].ConnectionString = connectionString;
            config.Save();
            log.Info("已完成初始化,管理员" + Request.Form["username"]);

            Response.Redirect("/Index");
        }
Esempio n. 8
0
        private void editPage_Click(object sender, RoutedEventArgs e)
        {
            SqlConnectionStringBuilder sqlBuilder =
                new SqlConnectionStringBuilder();


            sqlBuilder.DataSource         = _server.Text;
            sqlBuilder.InitialCatalog     = _dbName.Text;
            sqlBuilder.IntegratedSecurity = true;

            string providerString = sqlBuilder.ToString();

            EntityConnectionStringBuilder entityBuilder =
                new EntityConnectionStringBuilder();

            entityBuilder.Provider = "System.Data.SqlClient";

            entityBuilder.ProviderConnectionString = providerString;


            entityBuilder.Metadata = @" metadata = res://*/Vacancys.csdl|res://*/Vacancys.ssdl|res://*/Vacancys.msl";
            MessageBox.Show(entityBuilder.ToString());



            System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                    ConfigurationUserLevel.None);


            int connStrCnt =
                ConfigurationManager.ConnectionStrings.Count;

            string csName =
                "VacancysContainer" + connStrCnt.ToString();


            ConnectionStringSettings csSettings =
                new ConnectionStringSettings(csName,
                                             sqlBuilder.DataSource +
                                             sqlBuilder.InitialCatalog, entityBuilder.Provider);

            ConnectionStringsSection csSection =
                config.ConnectionStrings;


            csSection.ConnectionStrings.Add(csSettings);

            config.Save(ConfigurationSaveMode.Modified);
        }
        private static void EncryptConnSettings(string section)
        {
            Configuration            objConfig       = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetEntryAssembly().Location);
            ConnectionStringsSection conSringSection = (ConnectionStringsSection)objConfig.GetSection(section);



            if (!conSringSection.SectionInformation.IsProtected)
            {
                conSringSection.SectionInformation.ProtectSection("RsaProtectedConfigurationProvider");
                conSringSection.SectionInformation.ForceSave = true;
                objConfig.Save(ConfigurationSaveMode.Modified);
            }
        }
Esempio n. 10
0
        public static ServiceActivity GetActivityData()
        {
            string                   path   = ServiceInfo.GetServicePath();
            Configuration            config = ServiceInfo.GetServiceConfig(path);
            ConnectionStringsSection css    = config.ConnectionStrings;

            ConnectionStringSettings conStr = css.ConnectionStrings["Cron"];

            if (conStr != null)
            {
                return(GetActivityData(conStr.ConnectionString));
            }
            return(new ServiceActivity());
        }
        private void ConnectionString_Load(object sender, EventArgs e)
        {
            Configuration            c       = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetExecutingAssembly().Location);
            ConnectionStringsSection section = (ConnectionStringsSection)c.GetSection("connectionStrings");
            var sqlConn = section.ConnectionStrings["ConnectionString"].ConnectionString;

            //SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["TPMTrakConnString"].ConnectionString);
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(sqlConn.ToString());

            txtDataSource.Text     = (builder.DataSource).ToString();
            txtInitialCatalog.Text = (builder.InitialCatalog).ToString();
            txtUserName.Text       = (builder.UserID).ToString();
            txtPassWord.Text       = (builder.Password).ToString();
        }
        private void btnTest_Click(object sender, EventArgs e)
        {
            if (validateFormFeilds())
            {
                return;
            }
            if (chkBox.Checked == false)
            {
                if (validateCredentials())
                {
                    return;
                }
            }
            Configuration            c       = ConfigurationManager.OpenExeConfiguration(System.Reflection.Assembly.GetExecutingAssembly().Location);//file path
            ConnectionStringsSection section = (ConnectionStringsSection)c.GetSection("connectionStrings");
            var connection = section.ConnectionStrings["ConnectionString"].ConnectionString;

            //Constructing the string with user defined values.
            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connection.ToString());

            builder.DataSource     = txtDataSource.Text;
            builder.InitialCatalog = txtInitialCatalog.Text;
            if (chkBox.Checked == false)
            {
                builder.UserID             = txtUserName.Text;
                builder.Password           = txtPassWord.Text;
                builder.IntegratedSecurity = false;
                section.ConnectionStrings["ConnectionString"].ConnectionString = builder.ConnectionString;
            }
            else
            {
                builder.Remove("User ID");
                builder.Remove("Password");
                builder.IntegratedSecurity = true;
                section.ConnectionStrings["ConnectionString"].ConnectionString = builder.ConnectionString;
            }
            c.Save();

            SqlConnection conn = new SqlConnection(builder.ConnectionString);

            try
            {
                conn.Open();
                MessageBox.Show("Connection Successfull");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Connection failed..!!!\n" + ex.Message);
            }
        }
        static void SaveConnectionStringKey(string configFilePhysicalPath, string key, string value)
        {
            ExeConfigurationFileMap m = new ExeConfigurationFileMap();

            m.ExeConfigFilename = configFilePhysicalPath;
            Configuration            objConfig      = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(m, ConfigurationUserLevel.None);
            ConnectionStringsSection objAppsettings = (ConnectionStringsSection)objConfig.GetSection("connectionStrings");

            if (objAppsettings != null)
            {
                objAppsettings.ConnectionStrings[key].ConnectionString = value;
                objConfig.Save();
            }
        }
Esempio n. 14
0
        /// <summary>
        /// 设置connectionStrings节点
        /// </summary>
        /// <param name="key">键</param>
        /// <param name="connectionString">连接字符串</param>
        public void SetConnectionStrings(string key, string connectionString)
        {
            ConnectionStringsSection setting = (ConnectionStringsSection)this.WebConfig.GetSection("connectionStrings");

            if (setting.ConnectionStrings[key] == null)
            {
                ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key, connectionString);
                setting.ConnectionStrings.Add(connectionStringSettings);
            }
            else
            {
                setting.ConnectionStrings[key].ConnectionString = connectionString;
            }
        }
Esempio n. 15
0
        public void DatabaseCreatedByProviderFactoryIsGenericIfNoProviderMapping()
        {
            DictionaryConfigurationSource source = new DictionaryConfigurationSource();
            DatabaseSettings         settings    = new DatabaseSettings();
            ConnectionStringsSection connSection = GetConnectionStringsSection();

            source.Add("dataConfiguration", settings);
            source.Add("connectionStrings", connSection);
            DatabaseProviderFactory factory = new DatabaseProviderFactory(source);
            Database db = factory.Create(instanceName);

            Assert.IsNotNull(db);
            Assert.AreSame(typeof(GenericDatabase), db.GetType());
        }
        public static string GetConnectionString()
        {
            ConnectionStringsSection section =
                ConfigurationManager.GetSection("connectionStrings") as ConnectionStringsSection;

            if (section.ConnectionStrings.Count > 0)
            {
                return(section.ConnectionStrings[0].ConnectionString);
            }

            //appHarbor case: get from appSettings
            return(ConfigurationManager.AppSettings["MONGOLAB_URI"] ??
                   ConfigurationManager.AppSettings.Get("MONGOHQ_URL"));
        }
Esempio n. 17
0
            public object Create(object parent, object configContext, XmlNode section)
            {
                var data = new ConnectionStringsSection();

                foreach (XmlNode node in section.ChildNodes)
                {
                    var settings = new ConnectionStringSettings(
                        node.Attributes["name"].Value,
                        node.Attributes["connectionString"]?.Value,
                        node.Attributes["providerName"]?.Value);
                    data.ConnectionStrings.Add(settings);
                }
                return(data);
            }
        ///
        /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改
        ///
        /// 节点名称
        /// 节点值
        public void SetConnectionString(string key, string connectionString)
        {
            ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");

            if (connectionSetting.ConnectionStrings[key] == null)//如果不存在此节点,则添加
            {
                ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key, connectionString);
                connectionSetting.ConnectionStrings.Add(connectionStringSettings);
            }
            else//如果存在此节点,则修改
            {
                connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
            }
        }
        /// <summary>
        /// 修改数据库连接字符串ConnectionString节点,如果不存在此节点,则会添加此节点及对应的值
        /// </summary>
        /// <param name="key">节点名称</param>
        /// <param name="connectionString">节点值</param>
        /// <param name="proName">节点值</param>
        public void ModifyConnectionString(string key, string connectionString, string proName)
        {
            ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");

            if (connectionSetting.ConnectionStrings[key] != null)//如果存在此节点,则修改
            {
                connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;
                connectionSetting.ConnectionStrings[key].ProviderName     = proName;
            }
            else//如果不存在此节点,则添加
            {
                AddConnectionString(key, connectionString, proName);
            }
        }
Esempio n. 20
0
        private void BuildDataSource()
        {
            Configuration            config             = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            ConnectionStringsSection connectionSettings = (ConnectionStringsSection)config.GetSection("connectionStrings");
            List <string>            dataSource         = new List <string>();

            int count = connectionSettings.ConnectionStrings.Count;

            for (int i = 0; i < count; i++)
            {
                dataSource.Add(connectionSettings.ConnectionStrings[i].Name);
            }
            skinComboBox1.DataSource = dataSource;
        }
Esempio n. 21
0
        /// <summary>
        /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改
        /// </summary>
        /// <param name="name">节点名称</param>
        /// <param name="connectionString">节点值</param>
        public void SetConnectionStrings(string name, string connectionString)
        {
            ConnectionStringsSection connSection = (ConnectionStringsSection)_config.GetSection("connectionStrings");

            if (connSection.ConnectionStrings[name] == null)//如果不存在此节点则添加
            {
                ConnectionStringSettings connSettings = new ConnectionStringSettings(name, connectionString);
                connSection.ConnectionStrings.Add(connSettings);
            }
            else//如果存在此节点,则修改
            {
                connSection.ConnectionStrings[name].ConnectionString = connectionString;
            }
        }
        /// <summary>
        /// 添加数据库连接字符串ConnectionString节点,如果已经存在此节点,则会修改该节点的值
        /// </summary>
        /// <param name="key">节点名称</param>
        /// <param name="connectionString">节点值</param>
        /// <param name="proName">节点值</param>
        public void AddConnectionString(string key, string connectionString, string proName)
        {
            ConnectionStringsSection connectionSetting = (ConnectionStringsSection)config.GetSection("connectionStrings");

            if (connectionSetting.ConnectionStrings[key] == null)//如果不存在此节点,则添加
            {
                ConnectionStringSettings connectionStringSettings = new ConnectionStringSettings(key, connectionString);
                connectionSetting.ConnectionStrings.Add(connectionStringSettings);
            }
            else//如果存在此节点,则修改
            {
                ModifyConnectionString(key, connectionString, proName);
            }
        }
Esempio n. 23
0
        public static void RemoveConnectionString([NotNull] Configuration configuration, string name)
        {
            name = name.ToNullIfEmpty() ?? throw new ArgumentNullException(nameof(name));

            ConnectionStringsSection section = configuration.ConnectionStrings;

            if (section?.ConnectionStrings[name] == null)
            {
                return;
            }
            section.ConnectionStrings.Remove(name);
            section.SectionInformation.ForceSave = true;
            configuration.Save(ConfigurationSaveMode.Modified);
        }
Esempio n. 24
0
        private byte[] DoDBConn_Del(byte[] ParameterData)
        {
            string                   _dbs        = CommandCommon.GetParamDataObj <string>(ParameterData);
            Configuration            cfa         = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            ConnectionStringsSection connSetting = (ConnectionStringsSection)cfa.ConnectionStrings;

            connSetting.ConnectionStrings.Remove(_dbs);
            cfa.Save();
            ConfigurationManager.RefreshSection("connectionStrings");
            string _ret = "TRUE";

            byte[] _data = Encoding.Unicode.GetBytes(_ret);
            return(_data);
        }
        public void EncriptarConnectionString()
        {
            #if DEBUG
            string applicationName = Environment.GetCommandLineArgs()[0];
            #else
            string applicationName = Environment.GetCommandLineArgs()[0] + ".exe";
            #endif

            string        exePath = System.IO.Path.Combine(Environment.CurrentDirectory, applicationName);
            Configuration conf    = ConfigurationManager.OpenExeConfiguration(exePath);

            ConnectionStringsSection section = conf.GetSection("connectionStrings")
                                               as ConnectionStringsSection;
        }
Esempio n. 26
0
        private ConnectionStringsSection ProcessConnectionStringsSection(ConnectionStringsSection section)
        {
            var connectionStringsSection = Configuration.Value.GetSection("ConnectionStrings");

            if (connectionStringsSection == null)
            {
                return(section);
            }

            var connectionStringSettingsCollection = section.ConnectionStrings;

            foreach (var setting in connectionStringsSection.GetChildren())
            {
                var    key = setting.Key;
                string value;
                string providerName = null;
                // keys that contain subsections have a null value
                if (setting.Value == null)
                {
                    value        = setting["ConnectionString"];
                    providerName = setting["ProviderName"];
                }
                else
                {
                    value = setting.Value;
                }

                if (value == null)
                {
                    continue;
                }

                if (connectionStringSettingsCollection[key] is ConnectionStringSettings existingConnectionString)
                {
                    existingConnectionString.ConnectionString = value;
                    if (providerName != null)
                    {
                        existingConnectionString.ProviderName = providerName;
                    }
                }
                else
                {
                    connectionStringSettingsCollection.Add(providerName != null
                        ? new ConnectionStringSettings(key, value, providerName)
                        : new ConnectionStringSettings(key, value));
                }
            }

            return(section);
        }
Esempio n. 27
0
        /// <summary>Sets properties configuration dictionary based on configuration in the database section.</summary>
        /// <param name="config">The database section configuration.</param>
        /// <param name="connectionStrings">Connection strings from configuration</param>
        protected virtual void SetupProperties(DatabaseSection config, ConnectionStringsSection connectionStrings)
        {
            NHibernate.Cfg.Environment.UseReflectionOptimizer = Utility.GetTrustLevel() > System.Web.AspNetHostingPermissionLevel.Medium;

            // connection
            if (!string.IsNullOrEmpty(config.ConnectionString))
            {
                var connectionString = config.ConnectionString;
                try
                {
                    foreach (string key in System.Environment.GetEnvironmentVariables().Keys)
                    {
                        connectionString = connectionString.Replace("%" + key + "%", System.Environment.GetEnvironmentVariable(key));
                    }
                }
                catch (Exception)
                {
                }
                Properties[NHibernate.Cfg.Environment.ConnectionString] = connectionString;
            }
            Properties[NHibernate.Cfg.Environment.ConnectionStringName] = config.ConnectionStringName;
            Properties[NHibernate.Cfg.Environment.ConnectionProvider]   = "NHibernate.Connection.DriverConnectionProvider";
            Properties[NHibernate.Cfg.Environment.Hbm2ddlKeyWords]      = "none";

            SetupFlavourProperties(config, connectionStrings);

            bool useNonBatcher =
                // configured batch size <= 1
                (batchSize.HasValue && batchSize.Value <= 1)
                // medium trust in combination with sql client driver
                // causes fault: Attempt by method 'NHibernate.AdoNet.SqlClientSqlCommandSet..ctor()' to access method 'System.Data.SqlClient.SqlCommandSet..ctor()' failed.   at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
                || (Utility.GetTrustLevel() <= System.Web.AspNetHostingPermissionLevel.Medium && typeof(SqlClientDriver).IsAssignableFrom(Type.GetType(Properties[Environment.ConnectionDriver])));

            if (useNonBatcher)
            {
                Properties[NHibernate.Cfg.Environment.BatchStrategy] = typeof(NonBatchingBatcherFactory).AssemblyQualifiedName;
            }

            SetupCacheProperties(config);

            if (config.Isolation.HasValue)
            {
                Properties[NHibernate.Cfg.Environment.Isolation] = config.Isolation.ToString();
            }

            foreach (NameValueConfigurationElement setting in config.HibernateProperties)
            {
                Properties[setting.Name] = setting.Value;
            }
        }
Esempio n. 28
0
        private void encryptConfig(string exeName, string exePath)
        {
            try
            {
                /* https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/connection-strings-and-configuration-files
                 * Open the resource file
                 * and get the connectionStrings section. */

                Configuration config =
                    ConfigurationManager.OpenExeConfiguration(exePath);

                ConnectionStringsSection section =
                    config.GetSection("connectionStrings")
                    as ConnectionStringsSection;

                config.ConnectionStrings.ConnectionStrings["mysqlConnectionString"].ConnectionString =
                    "server=" + TextBoxServer.Text + ";"
                    + "userid=" + TextBoxUsername.Text + ";"
                    + "password="******";"
                    + "persistsecurityinfo=True;"
                    + "database=" + TextBoxDatabase.Text;

                /*
                 * if (section.SectionInformation.IsProtected)
                 * {
                 *  // Decoding
                 *  section.SectionInformation.UnprotectSection();
                 * }
                 */

                if (!section.SectionInformation.IsProtected)
                {
                    // Encoding
                    section.SectionInformation.ProtectSection("DataProtectionConfigurationProvider");
                }

                // A jelenlegi beállítás elmentése
                config.Save();
                ImageAlert.Content    = Application.Current.Resources["TestCoveredPassing_16x"];
                ImageAlert.Visibility = Visibility.Visible;
                TextBlockResult.Text  = Application.Current.Resources["SettingsSaved"].ToString();
            }
            catch (Exception err)
            {
                TextBlockResult.Text  = err.Message;
                ImageAlert.Content    = Application.Current.Resources["TestCoveredFailing_16x"];
                ImageAlert.Visibility = Visibility.Visible;
            }
        }
        public static void Decriptografar()
        {
            Configuration config =
                ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            ConnectionStringsSection section =
                config.ConnectionStrings;

            if (section.SectionInformation.IsProtected)
            {
                section.SectionInformation.UnprotectSection();
                section.SectionInformation.ForceSave = true;
                config.Save();
            }
        }
Esempio n. 30
0
        public void GetConfigTest()
        {
            object o = ConfigurationSettings.GetConfig("connectionStrings_test");

            Assert.IsNotNull(o, "getconfig returns null");

            ConnectionStringsSection css = (ConnectionStringsSection)o;
            ConnectionStringSettings cs  = css.ConnectionStrings ["Publications"];

            Assert.IsNotNull(cs, "connectionstringsettings is null");

            Assert.AreEqual("Publications", cs.Name, "name wrong");
            Assert.AreEqual("System.Data.SqlClient", cs.ProviderName, "ProviderName wrong");
            Assert.AreEqual("Data Source=MyServer;Initial Catalog=pubs;integrated security=SSPI", cs.ConnectionString, "ConnectionString wrong");
        }
 private static void RewriteConnection(
     string overrideTestDb,
     string overrideTestDbQueryString,
     ConnectionStringsSection connectionStringsSection,
     string connectionStringName,
     string databaseName)
 {
     connectionStringsSection.ConnectionStrings[connectionStringName].ConnectionString =
         overrideTestDb.TrimEnd('/') +
         "/" +
         databaseName.Trim('/') +
         overrideTestDbQueryString;
 }
    private object GetMergedConnectionStringSection(object originalSection)
    {
        //return if test config has no connectionstring defined
        if (TestConfig.ConnectionStrings == null)
        {
            return originalSection;
        }

        var mergedConnectionStrings = new ConnectionStringSettingsCollection();

        //Copy test connection string to collection
        foreach (ConnectionStringSettings connectionStringSetting in TestConfig.ConnectionStrings.ConnectionStrings)
        {
            mergedConnectionStrings.Add(connectionStringSetting);
        }

        //merge connection strings from original config
        if (originalSection != null)
        {
            foreach (ConnectionStringSettings item in ((ConnectionStringsSection)originalSection).ConnectionStrings)
            {
                if (!mergedConnectionStrings.Cast<ConnectionStringSettings>().Any(x => x.Name.Equals(item.Name, StringComparison.CurrentCultureIgnoreCase)))
                {
                    mergedConnectionStrings.Add(item);
                }
            }
        }

        //create merged ConnectionStringsSection
        ConnectionStringsSection connectionStringsSection = new ConnectionStringsSection();
        foreach (ConnectionStringSettings connectionStringSetting in mergedConnectionStrings)
        {
            connectionStringsSection.ConnectionStrings.Add(connectionStringSetting);
        }
        return connectionStringsSection;
    }