public void EncryptDecryptConnectionStringInAppender() { // Arrange & Act. string encriptedConnectionString = CustomAdoNetAppender.EncryptString(ApplicationConnectionString, true); string actual = CustomAdoNetAppender.DecryptString(encriptedConnectionString, true); // Assert. Assert.Equal(ApplicationConnectionString, actual); }
/// <summary> /// Осуществляет создание тестовой оболочки для конфигурации приложения. /// </summary> /// <param name="appSettingConnectionStringName"> /// Значение настройки <see cref="CustomAdoNetAppender.AppSettingConnectionStringName"/> в секции appSettings. /// </param> /// <param name="appSettingConnectionString"> /// Значение настройки <see cref="CustomAdoNetAppender.AppSettingConnectionString"/> в секции appSettings. /// </param> /// <param name="appSettingConnectionStringIsEncrypted"> /// Значение настройки <see cref="CustomAdoNetAppender.AppSettingConnectionStringIsEncrypted"/> в секции appSettings. /// </param> /// <param name="encryptConnectionString"> /// Флаг: нужно ли зашифровать строки соединения. /// </param> private void CreateApplicationConfigurationShims( string appSettingConnectionStringName = null, string appSettingConnectionString = null, string appSettingConnectionStringIsEncrypted = null, bool encryptConnectionString = false) { var appSettings = new NameValueCollection(); if (!string.IsNullOrEmpty(appSettingConnectionStringName)) { appSettings.Add(CustomAdoNetAppender.AppSettingConnectionStringName, appSettingConnectionStringName); } if (!string.IsNullOrEmpty(appSettingConnectionString)) { appSettingConnectionString = encryptConnectionString ? CustomAdoNetAppender.EncryptString(appSettingConnectionString, true) : appSettingConnectionString; appSettings.Add(CustomAdoNetAppender.AppSettingConnectionString, appSettingConnectionString); } if (!string.IsNullOrEmpty(appSettingConnectionStringIsEncrypted)) { appSettings.Add(CustomAdoNetAppender.AppSettingConnectionStringIsEncrypted, appSettingConnectionStringIsEncrypted); } var appConnectionStrings = new ConnectionStringSettingsCollection(); string applicationConnectionString = encryptConnectionString ? CustomAdoNetAppender.EncryptString(ApplicationConnectionString, true) : ApplicationConnectionString; string additionalConnectionString = encryptConnectionString ? CustomAdoNetAppender.EncryptString(AdditionalConnectionString, true) : AdditionalConnectionString; appConnectionStrings.Add(new ConnectionStringSettings(ApplicationConnectionStringName, applicationConnectionString)); appConnectionStrings.Add(new ConnectionStringSettings(AdditionalConnectionStringName, additionalConnectionString)); System.Configuration.Fakes.ShimConfigurationManager.AppSettingsGet = () => { return(appSettings); }; System.Configuration.Fakes.ShimConfigurationManager.ConnectionStringsGet = () => { return(appConnectionStrings); }; }