Example #1
0
        public void SaveTestConfiguration()
        {
            DummySection configSection = new DummySection();

            configSection.Value = 20;
            SqlConfigurationManager.SaveSection("TestSection", configSection, data);

            //Assert that the database now has one record
            Assert.IsTrue(GetNumberofConfigSections() == 1);
        }
Example #2
0
        public void SaveAndGetTestConfiguration()
        {
            DummySection configSection = new DummySection();

            configSection.Value = 20;
            SqlConfigurationManager.SaveSection("TestSection", configSection, data);

            DummySection configSection2 = SqlConfigurationManager.GetSection("TestSection", data) as DummySection;

            Assert.AreEqual(configSection2.Value, configSection.Value);
        }
Example #3
0
        public void RefreshConfiguration()
        {
            string sectionName = "TestSection";

            DummySection configSection = new DummySection();

            configSection.Value = 20;
            SqlConfigurationManager.SaveSection("TestSection", configSection, data);

            DateTime lastModDate1 = GetLastModDate(sectionName);

            System.Threading.Thread.Sleep(1000);
            SqlConfigurationManager.RefreshSection(sectionName, data);
            DateTime lastModDate2 = GetLastModDate(sectionName);

            Assert.IsFalse(lastModDate2.Equals(lastModDate1));
        }
Example #4
0
        public void DifferentSqlConfigurationSourcesDoNotShareEvents()
        {
            ConfigurationChangeWatcher.SetDefaultPollDelayInMilliseconds(50);

            SqlConfigurationSource.ResetImplementation(data1, true);
            SystemConfigurationSource.ResetImplementation(true);


            bool sysSourceChanged   = false;
            bool otherSourceChanged = false;

            SystemConfigurationSource systemSource   = new SystemConfigurationSource();
            DummySection sysDummySerializableSection = systemSource.GetSection(localSection) as DummySection;

            SqlConfigurationSource otherSource = new SqlConfigurationSource(
                data1.ConnectionString,
                data1.GetStoredProcedure,
                data1.SetStoredProcedure,
                data1.RefreshStoredProcedure,
                data1.RemoveStoredProcedure);
            SqlConfigurationParameter parameter = new SqlConfigurationParameter(
                data1.ConnectionString,
                data1.GetStoredProcedure,
                data1.SetStoredProcedure,
                data1.RefreshStoredProcedure,
                data1.RemoveStoredProcedure);

            otherSource.Add(parameter, localSection, sysDummySerializableSection);

            DummySection otherDummySerializableSection = otherSource.GetSection(localSection) as DummySection;

            Assert.IsTrue(sysDummySerializableSection != null);
            Assert.IsTrue(otherDummySerializableSection != null);

            systemSource.AddSectionChangeHandler(localSection, delegate(object o, ConfigurationChangedEventArgs args)
            {
                sysSourceChanged = true;
            });

            otherSource.AddSectionChangeHandler(localSection, delegate(object o, ConfigurationChangedEventArgs args)
            {
                Assert.AreEqual(12, ((DummySection)otherSource.GetSection(localSection)).Value);
                otherSourceChanged = true;
            });

            DummySection rwSection = new DummySection();

            System.Configuration.Configuration rwConfiguration = ConfigurationManager.OpenMachineConfiguration();
            rwConfiguration.Sections.Remove(localSection);
            rwConfiguration.Sections.Add(localSection, rwSection = new DummySection());
            rwSection.Name  = localSection;
            rwSection.Value = 12;
            rwSection.SectionInformation.ConfigSource = data1.ConnectionString;

            SqlConfigurationManager.SaveSection(rwSection.Name, rwSection, data1);

            Thread.Sleep(200);

            Assert.AreEqual(false, sysSourceChanged);
            Assert.AreEqual(true, otherSourceChanged);
        }