示例#1
0
        public void AddSimulationSettings_ValidContent_ReturnsCorrectly()
        {
            // Initialize config
            var configSections = new ConfigurationSectionCollection();
            var configSettings = CreateConfigurationSettings(configSections);
            ConfigurationSection configSection = CreateConfigurationSection(nameof(configSection.Name));

            configSections.Add(configSection);
            ConfigurationProperty parameter = CreateConfigurationSectionParameters(nameof(parameter.Name), nameof(parameter.Value));

            configSection.Parameters.Add(parameter);
            ConfigurationPackage configPackage = CreateConfigurationPackage(configSettings, nameof(configPackage.Path));
            var codePackageContext             = new Mock <ICodePackageActivationContext>(MockBehavior.Loose);

            codePackageContext.Setup(cp => cp.GetConfigurationPackageObject("Config"))
            .Returns(configPackage);

            // Initialize service context
            var newUri          = new Uri("fabric:/MockApp/OtherMockStatelessService");
            var serviceTypeName = "OtherMockServiceType";
            var partitionId     = Guid.NewGuid();
            var replicaId       = long.MaxValue;
            var serviceContext  = MockStatelessServiceContextFactory.Create(
                codePackageContext.Object, serviceTypeName, newUri, partitionId, replicaId);

            var services = new ServiceCollection();

            // Act
            IServiceCollection collection = services.AddSimulationSettings(serviceContext);

            // Verify
            Assert.IsNotNull(collection);
            Assert.AreEqual(2, collection.Count);
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="pConfiguration">Configuration del app.config</param>
        /// <param name="pSectionName">Seccion</param>
        /// <param name="pSectionGroupName">Grupo</param>
        internal static void AddSection(Configuration pConfiguration, String pSectionName, String pSectionGroupName, String pSettingTemplateName)
        {
            ConfigurationSectionGroup wConfigurationSectionGroup = null;
            SettingElement            wSettingElement            = null;
            XmlDocument doc      = new XmlDocument();
            XmlNode     xmlValue = doc.CreateNode(XmlNodeType.Element, "value", String.Empty);
            ConfigurationSectionCollection wSections = null;

            if (pSectionGroupName.Length == 0)
            {
                AddSectionFromAssembly(pConfiguration, pSectionName);
                return;
            }
            else
            {
                wConfigurationSectionGroup = pConfiguration.GetSectionGroup(pSectionGroupName);
                if (wConfigurationSectionGroup == null)
                {
                    wConfigurationSectionGroup = AddSectionGroup(pConfiguration, pSectionGroupName);
                }
                wSections = wConfigurationSectionGroup.Sections;
            }

            if (wSections.Get(pSectionName) != null)
            {
                return;
            }

            ClientSettingsSection wClientSettingsSection = new ClientSettingsSection();

            wClientSettingsSection.SectionInformation.RequirePermission = false;
            wClientSettingsSection.SectionInformation.ForceSave         = true;

            #region Settings


            Dictionary <String, String> wSettings = TemplateProvider.GetSettingDic(pSettingTemplateName);

            if (wSettings != null)
            {
                foreach (KeyValuePair <string, string> seting in wSettings)
                {
                    wSettingElement                = new SettingElement();
                    wSettingElement.Name           = seting.Key;
                    xmlValue.InnerXml              = seting.Value;
                    wSettingElement.Value.ValueXml = xmlValue.Clone();
                    wClientSettingsSection.Settings.Add(wSettingElement);
                }
            }
            #endregion
            wSections.Add(pSectionName, wClientSettingsSection);
        }
示例#3
0
        public void ConfigurationPackageAtMockCodePackageActivationContextTest()
        {
            //build ConfigurationSectionCollection
            var configSections = new ConfigurationSectionCollection();

            //Build ConfigurationSettings
            var configSettings = CreateConfigurationSettings(configSections);

            //add one ConfigurationSection
            ConfigurationSection configSection = CreateConfigurationSection(nameof(configSection.Name));

            configSections.Add(configSection);

            //add one Parameters entry
            ConfigurationProperty parameter = CreateConfigurationSectionParameters(nameof(parameter.Name), nameof(parameter.Value));

            configSection.Parameters.Add(parameter);

            //Build ConfigurationPackage
            ConfigurationPackage configPackage = CreateConfigurationPackage(configSettings, nameof(configPackage.Path));

            var context = new MockCodePackageActivationContext(
                "fabric:/MockApp",
                "MockAppType",
                "Code",
                "1.0.0.0",
                Guid.NewGuid().ToString(),
                @"C:\logDirectory",
                @"C:\tempDirectory",
                @"C:\workDirectory",
                "ServiceManifestName",
                "1.0.0.0")
            {
                ConfigurationPackage = configPackage
            };

            Assert.AreEqual(configPackage, context.ConfigurationPackage);
            Assert.AreEqual(configSettings, context.ConfigurationPackage.Settings);
            Assert.AreEqual(nameof(configPackage.Path), context.ConfigurationPackage.Path);

            Assert.AreEqual(configSettings, configPackage.Settings);

            Assert.AreEqual(configSection, configPackage.Settings.Sections[0]);
            Assert.AreEqual(nameof(configSection.Name), configPackage.Settings.Sections[0].Name);

            Assert.AreEqual(parameter, configPackage.Settings.Sections[0].Parameters[0]);
            Assert.AreEqual(nameof(parameter.Name), configPackage.Settings.Sections[0].Parameters[0].Name);
            Assert.AreEqual(nameof(parameter.Value), configPackage.Settings.Sections[0].Parameters[0].Value);
        }
示例#4
0
        public static StatefulServiceContext GetMockContext()
        {
            //build ConfigurationSectionCollection
            var configSections = new ConfigurationSectionCollection();

            //Build ConfigurationSettings
            var configSettings = CreateConfigurationSettings(configSections);

            ConfigurationSection configSection = CreateConfigurationSection("ClusterConfig");

            configSections.Add(configSection);

            ConfigurationProperty reverseProxyPort = CreateConfigurationSectionParameters("ReverseProxy_Port", "19081");

            configSection.Parameters.Add(reverseProxyPort);

            ConfigurationProperty maxTradesPending = CreateConfigurationSectionParameters("MaxTradesPending", "10");

            configSection.Parameters.Add(maxTradesPending);

            ConfigurationProperty appInsightsKey = CreateConfigurationSectionParameters("Admin_AppInsights_InstrumentationKey", "");

            configSection.Parameters.Add(appInsightsKey);

            ConfigurationProperty teamName = CreateConfigurationSectionParameters("TeamName", "");

            configSection.Parameters.Add(teamName);


            //Build ConfigurationPackage
            ConfigurationPackage configPackage = CreateConfigurationPackage(configSettings);
            var context = new MockCodePackageActivationContext(
                "fabric:/MockApp",
                "MockAppType",
                "Code",
                "1.0.0.0",
                Guid.NewGuid().ToString(),
                @"C:\logDirectory",
                @"C:\tempDirectory",
                @"C:\workDirectory",
                "ServiceManifestName",
                "1.0.0.0")
            {
                ConfigurationPackage = configPackage
            };

            return(MockStatefulServiceContextFactory.Create(context, "barry", new Uri("fabric:/barry/norman"), Guid.NewGuid(), 1));
        }
示例#5
0
        public static ICodePackageActivationContext CreateMockCodePackageActivationContext()
        {
            //build ConfigurationSectionCollection
            var configSections = new ConfigurationSectionCollection();

            //Build ConfigurationSettings
            var configSettings = CreateConfigurationSettings(configSections);

            //add one ConfigurationSection
            ConfigurationSection configSection = CreateConfigurationSection(ConfigSectionName);

            configSections.Add(configSection);

            //add one Parameters entry
            ConfigurationProperty parameter = CreateConfigurationSectionParameters(ToggleName, ToggleValue);

            configSection.Parameters.Add(parameter);

            //Build ConfigurationPackage
            ConfigurationPackage configPackage = CreateConfigurationPackage(configSettings, nameof(configPackage.Path));

            return(new MockCodePackageActivationContext(
                       "fabric:/MockApp",
                       "MockAppType",
                       "Code",
                       "1.0.0.0",
                       Guid.NewGuid().ToString(),
                       @"C:\logDirectory",
                       @"C:\tempDirectory",
                       @"C:\workDirectory",
                       "ServiceManifestName",
                       "1.0.0.0")
            {
                ConfigurationPackage = configPackage,
                ConfigurationPackageNames = new List <string> {
                    ConfigPackageName
                }
            });
        }