예제 #1
0
        public void SecureLoad()
        {
            KeyManager.Create();

            var providerLoader = new ProviderLoader();

            var loader = new SettingsLoader();

            loader.XmlFileBySection();
            loader.Loaded += providerLoader.TryExtractConfigProtectedData;

            loader.Loaded += (s, e) =>
            {
                Console.WriteLine("Loaded: {0} ({1})", e.Settings.GetType(), e.Settings.Identity);
            };

            var settings = loader
                           .LoadSettings(new XmlFileSettings("Examples/AppDirectory/secureMain.config".ResolveTestPath()))
                           .Joined.ToAppSettings();

            var addCfg = settings.TryGet <ExampleCombineConfig>("AdditionalConfig");

            Assert.IsNotNull(addCfg);
            Assert.AreEqual("InUpDirectory", addCfg.F);

            Assert.AreEqual("Server=localhost;Database=workDb;User ID=admin;Password=pass;", settings.TryGet <ConnectionConfig>("MyExtConnection").ConnectionString);
            Assert.AreEqual("Server=localhost;Database=workDb;User ID=admin;Password=pass;", settings.TryGet <ConnectionConfig>("MySecuredConnection").ConnectionString);

            KeyManager.Delete();
        }