コード例 #1
0
        /// <summary>
        /// Populate all configurations
        /// </summary>
        private static void PopulateConfigurations()
        {
            var defaultPaths       = FixedConfigSettingsProvider.CreateDefaultSettingsProvider();
            var configPathProvider = new FixedConfigSettingsProvider(
                CommandLineSettings.ConfigFolder ?? defaultPaths.ConfigurationFolderPath,
                CommandLineSettings.UserDataFolder ?? defaultPaths.UserDataFolderPath
                );

            FileHelpers.CreateFolder(configPathProvider.UserDataFolderPath);
            FileHelpers.CreateFolder(configPathProvider.ConfigurationFolderPath);

            // Populate the App Config and Test Config
            ConfigurationManager.GetDefaultInstance(configPathProvider);

            // based on customer feedback, we will set default selection mode to Element
            // when AccessibilityInsights starts up.
            ConfigurationManager.GetDefaultInstance().AppConfig.IsUnderElementScope = true;

            // Configure the correct ReleaseChannel for autoupdate
            Container.SetAutoUpdateReleaseChannel(ConfigurationManager.GetDefaultInstance().AppConfig.ReleaseChannel.ToString());

            // enable/disable telemetry
            if (ConfigurationManager.GetDefaultInstance().AppConfig.EnableTelemetry)
            {
                TelemetryController.EnableTelemetry();
            }

            // Update theming since it depends on config options
            SetColorTheme();
        }
コード例 #2
0
 /// <summary>
 /// private constructor
 /// </summary>
 private ConfigurationManager(FixedConfigSettingsProvider provider)
 {
     this.SettingsProvider = provider;
     PopulateMainConfiguration();
     PopulateEventConfiguration();
     PopulateLayout();
 }
コード例 #3
0
        public static void ClassInit(TestContext context)
        {
            var configDir = Path.Combine(context.TestRunDirectory, "config");
            var userDir   = Path.Combine(context.TestRunDirectory, "user");

            testProvider = new FixedConfigSettingsProvider(configDir, userDir);
            Directory.CreateDirectory(testProvider.ConfigurationFolderPath);
        }
コード例 #4
0
        private void DeleteConfigFiles()
        {
            var configDirectory = FixedConfigSettingsProvider.CreateDefaultSettingsProvider().ConfigurationFolderPath;

            if (_systemShim.DirectoryExists(configDirectory))
            {
                _systemShim.LogToSession("RemoveUserConfigFiles: Deleting config directory: " + configDirectory);
                _systemShim.DeleteDirectory(configDirectory);
            }
        }
        /// <summary>
        /// Update the config file to reflect the new channel setting
        /// </summary>
        /// <param name="newChannel">The new channel to use</param>
        private static void UpdateConfigWithNewChannel(string newChannel)
        {
            if (newChannel == null)
            {
                return;
            }

            var defaultConfigPaths = FixedConfigSettingsProvider.CreateDefaultSettingsProvider();
            var configFile         = Path.Combine(defaultConfigPaths.ConfigurationFolderPath, Constants.AppConfigFileName);

            SettingsDictionary settings = FileHelpers.LoadDataFromJSON <SettingsDictionary>(configFile);

            settings[Constants.ReleaseChannelKey] = newChannel;
            FileHelpers.SerializeDataToJSON(settings, configFile);
        }
        public void RunAction_VersionSwitcherIsNotRunning_ConfigFilesExist_FilesAreDeleted()
        {
            List <string> deletedDirs = new List <string>();

            var configDirectory = FixedConfigSettingsProvider.CreateDefaultSettingsProvider().ConfigurationFolderPath;

            _systemShimMock.Setup(x => x.DirectoryExists(It.IsAny <string>()))
            .Returns <string>(fileName => fileName.Equals(configDirectory));
            _systemShimMock.Setup(x => x.DeleteDirectory(It.IsAny <string>()))
            .Callback <string>(fileName => deletedDirs.Add(fileName));

            Assert.AreEqual(ActionResult.Success, _cleaner.RunAction());
            Assert.IsTrue(deletedDirs.Count == 1 && deletedDirs.First().Equals(configDirectory));

            _systemShimMock.VerifyAll();
        }
コード例 #7
0
        /// <summary>
        /// Get the default instance of ConfigurationManager
        /// </summary>
        /// <returns></returns>
        public static ConfigurationManager GetDefaultInstance(FixedConfigSettingsProvider provider = null)
        {
            if (sDefaultInstance == null && provider != null)
            {
                try
                {
                    sDefaultInstance = new ConfigurationManager(provider);
                }
#pragma warning disable CA1031 // Do not catch general exception types
                catch (Exception e)
                {
                    e.ReportException();
                }
#pragma warning restore CA1031 // Do not catch general exception types
            }

            return sDefaultInstance;
        }
        /// <summary>
        /// Get the default instance of ConfigurationManager
        /// </summary>
        /// <returns></returns>
        public static ConfigurationManager GetDefaultInstance(FixedConfigSettingsProvider provider = null)
        {
            if (sDefaultInstance == null)
            {
                try
                {
                    sDefaultInstance = new ConfigurationManager(provider);
                }
#pragma warning disable CA1031 // Do not catch general exception types
                catch
                {
                    // be silent. since it will be ok later once Main window is up.
                }
#pragma warning restore CA1031 // Do not catch general exception types
            }

            return(sDefaultInstance);
        }
コード例 #9
0
        public IEnumerable <string> GetConfigFiles()
        {
            string configPath = FixedConfigSettingsProvider.CreateDefaultSettingsProvider().ConfigurationFolderPath;

            return(Directory.EnumerateFiles(configPath));
        }