Exemple #1
0
        public void GettingProcessorSettingDataListOfVirtualSystemSettingData_ExpectingOne()
        {
            using (var viridianUtils = new ViridianUtils())
            {
                viridianUtils.SUT_ComputerSystemMO(
                    ViridianUtils.GetCurrentMethod(),
                    out uint ReturnValue,
                    out ManagementPath Job,
                    out ManagementPath ResultingSystem);

                using (var computerSystem = new ComputerSystem(ResultingSystem))
                {
                    ReturnValue = computerSystem.RequestStateChange(2, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);

                    computerSystem.UpdateObject();

                    var vssdCollection = ViridianUtils.GetVirtualSystemSettingDataListThroughSettingsDefineState(computerSystem);

                    var sut = ViridianUtils.GetProcessorSettingDataList(vssdCollection.First());

                    Assert.AreEqual(1, vssdCollection.Count);
                    Assert.AreEqual(1, sut.Count);

                    ReturnValue = computerSystem.RequestStateChange(3, null, out Job);
                }

                ViridianUtils.WaitForConcreteJobToEnd(Job);
            }
        }
Exemple #2
0
        public void RequestStateChange_ExpectingEnabledStateIsTwo()
        {
            using (var viridianUtils = new ViridianUtils())
            {
                viridianUtils.SUT_ComputerSystemMO(
                    ViridianUtils.GetCurrentMethod(),
                    out uint ReturnValue,
                    out ManagementPath Job,
                    out ManagementPath ResultingSystem);

                using (var computerSystem = new ComputerSystem(ResultingSystem))
                {
                    ReturnValue = computerSystem.RequestStateChange(2, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);

                    computerSystem.UpdateObject();

                    Assert.IsNotNull(ResultingSystem);
                    Assert.AreEqual(4096U, ReturnValue);
                    Assert.AreEqual(2U, computerSystem.EnabledState);

                    ReturnValue = computerSystem.RequestStateChange(3, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);
                }
            }
        }
        public void ModifyMemorySettingDataVirtualQuantity_Expecting2048()
        {
            using (var viridianUtils = new ViridianUtils())
            {
                viridianUtils.SUT_ComputerSystemMO(
                    ViridianUtils.GetCurrentMethod(),
                    out uint ReturnValue,
                    out ManagementPath Job,
                    out ManagementPath ResultingSystem);

                using (var computerSystem = new ComputerSystem(ResultingSystem))
                {
                    ReturnValue = computerSystem.RequestStateChange(2, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);

                    computerSystem.UpdateObject();

                    var vssdCollection = ViridianUtils.GetVirtualSystemSettingDataListThroughSettingsDefineState(computerSystem);

                    var memorySettingDataList = ViridianUtils.GetMemorySettingDataList(vssdCollection.First());

                    using (var memorySettingData = memorySettingDataList.First())
                    {
                        memorySettingData.LateBoundObject["VirtualQuantity"] = 2048;

                        ReturnValue = computerSystem.RequestStateChange(3, null, out Job);

                        ViridianUtils.WaitForConcreteJobToEnd(Job);

                        computerSystem.UpdateObject();

                        var ResourceSettings = new string[] { memorySettingData.LateBoundObject.GetText(TextFormat.WmiDtd20) };
                        viridianUtils.VSMS.ModifyResourceSettings(ResourceSettings, out Job, out ManagementPath[] ResultingResourceSettins);

                        using (var sut = new MemorySettingData(ResultingResourceSettins[0]))
                        {
                            Assert.AreEqual(1, vssdCollection.Count);
                            Assert.AreEqual(1, memorySettingDataList.Count);
                            Assert.AreEqual(2048UL, sut.VirtualQuantity);
                        }
                    }
                }
            }
        }
        public void GettingBaseAndAggregationMetricsOnProcessorSettingData_ExpectingZeroBaseAndOneAggregation()
        {
            using (var viridianUtils = new ViridianUtils())
            {
                viridianUtils.SUT_ComputerSystemMO(
                    ViridianUtils.GetCurrentMethod(),
                    out uint ReturnValue,
                    out ManagementPath Job,
                    out ManagementPath ResultingSystem);

                using (var computerSystem = new ComputerSystem(ResultingSystem))
                {
                    ReturnValue = computerSystem.RequestStateChange(2, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);

                    computerSystem.UpdateObject();

                    var metricServiceSettingData = MetricServiceSettingData.GetInstances().First();
                    metricServiceSettingData.LateBoundObject["MetricsFlushInterval"] = MsvmBase.ToDmtfTimeInterval(new TimeSpan(1000));
                    viridianUtils.MS.ModifyServiceSettings(metricServiceSettingData.LateBoundObject.GetText(TextFormat.WmiDtd20), out Job);

                    var baseMetricDefinitions = BaseMetricDefinition.GetInstances();
                    baseMetricDefinitions.ForEach((bsd) => viridianUtils.MS.ControlMetrics(bsd.Path, 2, computerSystem.Path));

                    var aggregationMetricDefinitions = AggregationMetricDefinition.GetInstances();
                    aggregationMetricDefinitions.ForEach((agd) => viridianUtils.MS.ControlMetrics(agd.Path, 2, computerSystem.Path));

                    var vssdCollection = ViridianUtils.GetVirtualSystemSettingDataListThroughSettingsDefineState(computerSystem);

                    var psdCollection = ViridianUtils.GetProcessorSettingDataList(vssdCollection.First());

                    var amdCollection =
                        MetricDefForME.GetInstances()
                        .Cast <MetricDefForME>()
                        .Where((mdfm) =>
                               string.Compare(mdfm.Antecedent.Path, psdCollection.First().Path.Path, true, CultureInfo.InvariantCulture) == 0 &&
                               mdfm.Dependent.ClassName == $"Msvm_{nameof(AggregationMetricDefinition)}")
                        .Select((mdfm) => new AggregationMetricDefinition(mdfm.Dependent))
                        .ToList();

                    var amvCollection =
                        MetricForME.GetInstances()
                        .Cast <MetricForME>()
                        .Where((mdfm) => string.Compare(mdfm.Antecedent.Path, psdCollection.First().Path.Path, true, CultureInfo.InvariantCulture) == 0 &&
                               mdfm.Dependent.ClassName == $"Msvm_{nameof(AggregationMetricValue)}")
                        .Select((mdfm) => new AggregationMetricValue(mdfm.Dependent))
                        .ToList();

                    var aggregationMetricMap = new Dictionary <AggregationMetricDefinition, AggregationMetricValue>();

                    amdCollection
                    .Where((amd) => amvCollection.Where((amv) => string.Compare(amv.MetricDefinitionId, amd.Id, true, CultureInfo.InvariantCulture) == 0).Any())
                    .ToList()
                    .ForEach((amd) =>
                             aggregationMetricMap.Add(
                                 amd,
                                 amvCollection.Where((amv) => string.Compare(amv.MetricDefinitionId, amd.Id, true, CultureInfo.InvariantCulture) == 0).ToList().First())
                             );

                    var bmdCollection =
                        MetricDefForME.GetInstances()
                        .Cast <MetricDefForME>()
                        .Where((mdfm) => string.Compare(mdfm.Antecedent.Path, psdCollection.First().Path.Path, true, CultureInfo.InvariantCulture) == 0 &&
                               mdfm.Dependent.ClassName == $"Msvm_{nameof(BaseMetricDefinition)}")
                        .Select((mdfm) => new BaseMetricDefinition(mdfm.Dependent))
                        .ToList();

                    var bmvCollection =
                        MetricForME.GetInstances()
                        .Cast <MetricForME>()
                        .Where((mdfm) => string.Compare(mdfm.Antecedent.Path, psdCollection.First().Path.Path, true, CultureInfo.InvariantCulture) == 0 &&
                               mdfm.Dependent.ClassName == $"Msvm_{nameof(BaseMetricValue)}")
                        .Select((mdfm) => new BaseMetricValue(mdfm.Dependent))
                        .ToList();

                    var baseMetricMap = new Dictionary <BaseMetricDefinition, BaseMetricValue>();

                    bmdCollection
                    .Where((bmd) => bmvCollection.Where((amv) => string.Compare(amv.MetricDefinitionId, bmd.Id, true, CultureInfo.InvariantCulture) == 0).Any())
                    .ToList()
                    .ForEach((bmd) =>
                             baseMetricMap.Add(
                                 bmd,
                                 bmvCollection.Where((amv) => string.Compare(amv.MetricDefinitionId, bmd.Id, true, CultureInfo.InvariantCulture) == 0).ToList().First())
                             );

                    ReturnValue = computerSystem.RequestStateChange(3, null, out Job);

                    ViridianUtils.WaitForConcreteJobToEnd(Job);

                    Assert.IsNotNull(ResultingSystem);
                    Assert.AreEqual(4096U, ReturnValue);
                    Assert.AreEqual(1, vssdCollection.Count);
                    Assert.AreEqual(1, aggregationMetricMap.Count);
                    Assert.AreEqual(0, baseMetricMap.Count);
                }
            }
        }