Exemplo n.º 1
0
        public virtual void AddData(PerformanceStatus performanceStatus)
        {
            Dictionary <string, string> columnToValue = DataModelMapper.GetColumnValueMapping(performanceStatus);
            string cmd = SqlCommandFactory.CreateInsertCmd(DataBaseItemNames.PerformanceTableName, columnToValue);

            ExecuteWriteCommand(cmd);
        }
Exemplo n.º 2
0
        public void ReadPerformance()
        {
            _dataMaintainer.DesigntimeInitialize();

            IList <PerformanceStatus> performanceStatus = _dataMaintainer.GetPerformanceStatus(
                _sessionResultData11.RuntimeHash, _sessionResultData11.Session);

            Assert.IsTrue(AreEqauls(_performanceStatus111, performanceStatus[0]));
            Assert.IsTrue(AreEqauls(_performanceStatus112, performanceStatus[1]));

            performanceStatus = _dataMaintainer.GetPerformanceStatus(_sessionResultData12.RuntimeHash,
                                                                     _sessionResultData12.Session);
            Assert.IsTrue(AreEqauls(_performanceStatus121, performanceStatus[0]));
            Assert.IsTrue(AreEqauls(_performanceStatus122, performanceStatus[1]));

            performanceStatus = _dataMaintainer.GetPerformanceStatus(_sessionResultData21.RuntimeHash,
                                                                     _sessionResultData21.Session);
            Assert.IsTrue(AreEqauls(_performanceStatus211, performanceStatus[0]));
            Assert.IsTrue(AreEqauls(_performanceStatus212, performanceStatus[1]));

            performanceStatus = _dataMaintainer.GetPerformanceStatus(_sessionResultData22.RuntimeHash,
                                                                     _sessionResultData22.Session);
            Assert.IsTrue(AreEqauls(_performanceStatus221, performanceStatus[0]));
            Assert.IsTrue(AreEqauls(_performanceStatus222, performanceStatus[1]));

            PerformanceStatus status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus111.RuntimeHash,
                                                                                   _performanceStatus111.Index);

            Assert.IsTrue(AreEqauls(_performanceStatus111, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus112.RuntimeHash,
                                                                 _performanceStatus112.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus112, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus121.RuntimeHash,
                                                                 _performanceStatus121.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus121, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus122.RuntimeHash,
                                                                 _performanceStatus122.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus122, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus211.RuntimeHash,
                                                                 _performanceStatus211.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus211, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus212.RuntimeHash,
                                                                 _performanceStatus212.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus212, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus221.RuntimeHash,
                                                                 _performanceStatus221.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus221, status));

            status = _dataMaintainer.GetPerformanceStatusByIndex(_performanceStatus222.RuntimeHash,
                                                                 _performanceStatus222.Index);
            Assert.IsTrue(AreEqauls(_performanceStatus222, status));
        }
Exemplo n.º 3
0
        private PerformanceStatus CreatePerformanceData(int instanceId, int sessionid, int dataIndex)
        {
            PerformanceStatus performanceStatus = new PerformanceStatus()
            {
                RuntimeHash     = $"RuntimeHash{instanceId}",
                Session         = sessionid,
                Index           = dataIndex,
                TimeStamp       = DateTime.Now,
                MemoryUsed      = 1000000,
                MemoryAllocated = 2000000,
                ProcessorTime   = 500000,
            };

            return(performanceStatus);
        }
Exemplo n.º 4
0
        public virtual PerformanceStatus GetPerformanceStatusByIndex(string runtimeHash, long index)
        {
            string filter =
                $"{DataBaseItemNames.RuntimeIdColumn}='{runtimeHash}' AND {DataBaseItemNames.StatusIndexColumn}={index}";
            string            cmd = SqlCommandFactory.CreateQueryCmd(filter, DataBaseItemNames.PerformanceTableName);
            PerformanceStatus performanceStatus = null;

            using (DbDataReader dataReader = ExecuteReadCommand(cmd))
            {
                if (dataReader.Read())
                {
                    performanceStatus = new PerformanceStatus();
                    DataModelMapper.ReadToObject(dataReader, performanceStatus);
                }
            }
            return(performanceStatus);
        }
Exemplo n.º 5
0
        public virtual IList <PerformanceStatus> GetPerformanceStatus(string runtimeHash, int session)
        {
            string filter =
                $"{DataBaseItemNames.RuntimeIdColumn}='{runtimeHash}' AND {DataBaseItemNames.SessionIdColumn}={session}";
            string cmd = SqlCommandFactory.CreateQueryCmdWithOrder(filter, DataBaseItemNames.PerformanceTableName,
                                                                   DataBaseItemNames.StatusIndexColumn);
            List <PerformanceStatus> performanceStatuses = new List <PerformanceStatus>(500);

            using (DbDataReader dataReader = ExecuteReadCommand(cmd))
            {
                while (dataReader.Read())
                {
                    PerformanceStatus performanceStatus = new PerformanceStatus();
                    DataModelMapper.ReadToObject(dataReader, performanceStatus);
                    performanceStatuses.Add(performanceStatus);
                }
            }
            return(performanceStatuses);
        }
Exemplo n.º 6
0
        private void InitializeBasicInfo(int session, ISequenceFlowContainer sequenceData)
        {
            // 配置基本信息
            this._sequenceData    = sequenceData;
            this.Session          = session;
            this.RuntimeHash      = _stateManageContext.GlobalInfo.RuntimeHash;
            this.State            = RuntimeState.NotAvailable;
            this._eventDispatcher = _stateManageContext.EventDispatcher;

            this.StartGenTime = DateTime.MaxValue;
            this.EndGenTime   = DateTime.MaxValue;
            this.StartTime    = DateTime.MaxValue;
            this.EndTime      = DateTime.MaxValue;
            this.CurrentTime  = DateTime.MaxValue;
            this.ElapsedTime  = TimeSpan.Zero;

            // 获取测试结果对象和生成信息对象
            _testResults    = _stateManageContext.GetSessionResults(Session);
            _generationInfo = _stateManageContext.GetGenerationInfo(Session);
            _sessionResults = new SessionResultData()
            {
                Name         = SequenceData.Name,
                Description  = SequenceData.Description,
                RuntimeHash  = _stateManageContext.RuntimeHash,
                Session      = this.Session,
                SequenceHash = (sequenceData is ISequenceGroup) ? ((ISequenceGroup)sequenceData).Info.Hash : string.Empty,
                State        = RuntimeState.NotAvailable,
                FailedInfo   = string.Empty
            };
            _performanceStatus = new PerformanceStatus()
            {
                RuntimeHash = _stateManageContext.RuntimeHash,
                Session     = this.Session,
            };

            _stateManageContext.DatabaseProxy.WriteData(_sessionResults);
        }
Exemplo n.º 7
0
 public void WriteData(PerformanceStatus performance)
 {
     _dataMaintainer.AddData(performance);
 }
Exemplo n.º 8
0
 public void WriteData(PerformanceStatus performance)
 {
     // TODO
 }
Exemplo n.º 9
0
        public DataMaintainTest()
        {
            Type runnerType = typeof(TestflowRunner);
            TestflowRunnerOptions option             = new TestflowRunnerOptions();
            FakeTestflowRunner    fakeTestflowRunner = new FakeTestflowRunner(option);
            Type      intType   = typeof(int);
            FieldInfo fieldInfo = runnerType.GetField("_runnerInst", BindingFlags.Static | BindingFlags.NonPublic);

            fieldInfo.SetValue(null, fakeTestflowRunner);
            fakeTestflowRunner.SetLogService(null);

            _dataMaintainer = new DataMaintainer.DataMaintainer();
            ModuleConfigData moduleConfigData = new ModuleConfigData();

            moduleConfigData.InitExtendProperties();
            _dataMaintainer.ApplyConfig(moduleConfigData);

            _testInstanceData1     = CreateTestInstance(1);
            _sessionResultData11   = CreateSessionResult(1, 1);
            _sequenceResultData111 = CreateSequenceResult(1, 1, 1);
            _sequenceResultData112 = CreateSequenceResult(1, 1, 2);
            _runtimeStatusData1111 = CreateRuntimeStatusData(1, 1, 1, 1);
            _runtimeStatusData1112 = CreateRuntimeStatusData(1, 1, 2, 2);
            _sessionResultData12   = CreateSessionResult(1, 2);
            _sequenceResultData121 = CreateSequenceResult(1, 2, 1);
            _sequenceResultData122 = CreateSequenceResult(1, 2, 2);
            _runtimeStatusData1211 = CreateRuntimeStatusData(1, 2, 1, 3);
            _runtimeStatusData1212 = CreateRuntimeStatusData(1, 2, 2, 4);
            _performanceStatus111  = CreatePerformanceData(1, 1, 1);
            _performanceStatus112  = CreatePerformanceData(1, 1, 2);
            _performanceStatus121  = CreatePerformanceData(1, 2, 3);
            _performanceStatus122  = CreatePerformanceData(1, 2, 4);

            _testInstanceData2     = CreateTestInstance(2);
            _sessionResultData21   = CreateSessionResult(2, 1);
            _sequenceResultData211 = CreateSequenceResult(2, 1, 1);
            _sequenceResultData212 = CreateSequenceResult(2, 1, 2);
            _runtimeStatusData2111 = CreateRuntimeStatusData(2, 1, 1, 1);
            _runtimeStatusData2112 = CreateRuntimeStatusData(2, 1, 2, 2);
            _sessionResultData22   = CreateSessionResult(2, 2);
            _sequenceResultData221 = CreateSequenceResult(2, 2, 1);
            _sequenceResultData222 = CreateSequenceResult(2, 2, 2);
            _runtimeStatusData2211 = CreateRuntimeStatusData(2, 2, 1, 3);
            _runtimeStatusData2212 = CreateRuntimeStatusData(2, 2, 2, 4);
            _performanceStatus211  = CreatePerformanceData(2, 1, 1);
            _performanceStatus212  = CreatePerformanceData(2, 1, 2);
            _performanceStatus221  = CreatePerformanceData(2, 2, 3);
            _performanceStatus222  = CreatePerformanceData(2, 2, 4);

            // 只有DesigntimeInitialize可以删掉记录
            _dataMaintainer.DesigntimeInitialize();
            // 删除记录
            _dataMaintainer.DeleteTestInstance($"RuntimeHash='{_testInstanceData1.RuntimeHash}'");
            _dataMaintainer.DeleteTestInstance($"RuntimeHash='{_testInstanceData2.RuntimeHash}'");

            // 只有RuntimeInitialize可以新增记录
            _dataMaintainer.RuntimeInitialize();

            _dataMaintainer.AddData(_testInstanceData1);
            _dataMaintainer.AddData(_sessionResultData11);
            _dataMaintainer.AddData(_sequenceResultData111);
            _dataMaintainer.AddData(_sequenceResultData112);
            _dataMaintainer.AddData(_sessionResultData12);
            _dataMaintainer.AddData(_sequenceResultData121);
            _dataMaintainer.AddData(_sequenceResultData122);
            _dataMaintainer.AddData(_runtimeStatusData1211);
            _dataMaintainer.AddData(_runtimeStatusData1212);
            _dataMaintainer.AddData(_runtimeStatusData1111);
            _dataMaintainer.AddData(_runtimeStatusData1112);
            _dataMaintainer.AddData(_performanceStatus111);
            _dataMaintainer.AddData(_performanceStatus112);
            _dataMaintainer.AddData(_performanceStatus121);
            _dataMaintainer.AddData(_performanceStatus122);

            _dataMaintainer.AddData(_testInstanceData2);
            _dataMaintainer.AddData(_sessionResultData21);
            _dataMaintainer.AddData(_sequenceResultData211);
            _dataMaintainer.AddData(_sequenceResultData212);
            _dataMaintainer.AddData(_sessionResultData22);
            _dataMaintainer.AddData(_sequenceResultData221);
            _dataMaintainer.AddData(_sequenceResultData222);
            _dataMaintainer.AddData(_runtimeStatusData2211);
            _dataMaintainer.AddData(_runtimeStatusData2212);
            _dataMaintainer.AddData(_runtimeStatusData2111);
            _dataMaintainer.AddData(_runtimeStatusData2112);
            _dataMaintainer.AddData(_performanceStatus211);
            _dataMaintainer.AddData(_performanceStatus212);
            _dataMaintainer.AddData(_performanceStatus221);
            _dataMaintainer.AddData(_performanceStatus222);
        }
Exemplo n.º 10
0
 public void AddData(PerformanceStatus performanceStatus)
 {
     _databaseProxy.AddData(performanceStatus);
 }
Exemplo n.º 11
0
        public ResultManagerTest()
        {
            #region 创建并初始化假的TestFlowRunner, 将创建的DataMaintainer赋予它
            Type runnerType = typeof(TestflowRunner);
            //默认options
            TestflowRunnerOptions option = new TestflowRunnerOptions();
            //创建假的TestFlowRunner
            FakeTestflowRunner fakeTestflowRunner = new FakeTestflowRunner(option);
            Type intType = typeof(int);
            //用反射将获取private fieldInfo,然后赋值fake
            FieldInfo fieldInfo = runnerType.GetField("_runnerInst", BindingFlags.Static | BindingFlags.NonPublic);
            fieldInfo.SetValue(null, fakeTestflowRunner);
            _dataMaintainer = new DataMaintainer.DataMaintainer();
            fakeTestflowRunner.SetDataMaintainer(_dataMaintainer);

            fakeTestflowRunner.Initialize();
            #endregion

            _resultManager = new ResultManager.ResultManager();

            #region 用此类里的方法创建测试用数据
            _testInstanceData1     = CreateTestInstance(1);
            _sessionResultData11   = CreateSessionResult(1, 1);
            _sequenceResultData111 = CreateSequenceResult(1, 1, 1);
            _sequenceResultData112 = CreateSequenceResult(1, 1, 2);
            _runtimeStatusData1111 = CreateRuntimeStatusData(1, 1, 1, 1);
            _runtimeStatusData1112 = CreateRuntimeStatusData(1, 1, 2, 2);
            _sessionResultData12   = CreateSessionResult(1, 2);
            _sequenceResultData121 = CreateSequenceResult(1, 2, 1);
            _sequenceResultData122 = CreateSequenceResult(1, 2, 2);
            _runtimeStatusData1211 = CreateRuntimeStatusData(1, 2, 1, 3);
            _runtimeStatusData1212 = CreateRuntimeStatusData(1, 2, 2, 4);
            _performanceStatus111  = CreatePerformanceData(1, 1, 1);
            _performanceStatus112  = CreatePerformanceData(1, 1, 2);
            _performanceStatus121  = CreatePerformanceData(1, 2, 3);
            _performanceStatus122  = CreatePerformanceData(1, 2, 4);

            _testInstanceData2     = CreateTestInstance(2);
            _sessionResultData21   = CreateSessionResult(2, 1);
            _sequenceResultData211 = CreateSequenceResult(2, 1, 1);
            _sequenceResultData212 = CreateSequenceResult(2, 1, 2);
            _runtimeStatusData2111 = CreateRuntimeStatusData(2, 1, 1, 1);
            _runtimeStatusData2112 = CreateRuntimeStatusData(2, 1, 2, 2);
            _sessionResultData22   = CreateSessionResult(2, 2);
            _sequenceResultData221 = CreateSequenceResult(2, 2, 1);
            _sequenceResultData222 = CreateSequenceResult(2, 2, 2);
            _runtimeStatusData2211 = CreateRuntimeStatusData(2, 2, 1, 3);
            _runtimeStatusData2212 = CreateRuntimeStatusData(2, 2, 2, 4);
            _performanceStatus211  = CreatePerformanceData(2, 1, 1);
            _performanceStatus212  = CreatePerformanceData(2, 1, 2);
            _performanceStatus221  = CreatePerformanceData(2, 2, 3);
            _performanceStatus222  = CreatePerformanceData(2, 2, 4);
            #endregion

            #region 初始化_dataMaintainer
            // 只有DesigntimeInitialize可以删掉记录
            _dataMaintainer.DesigntimeInitialize();
            // 删除记录
            _dataMaintainer.DeleteTestInstance($"RuntimeHash='{_testInstanceData1.RuntimeHash}'");
            _dataMaintainer.DeleteTestInstance($"RuntimeHash='{_testInstanceData2.RuntimeHash}'");

            // 只有RuntimeInitialize可以新增记录
            _dataMaintainer.RuntimeInitialize();
            #endregion

            #region 添加数据到数据库
            _dataMaintainer.AddData(_testInstanceData1);
            _dataMaintainer.AddData(_sessionResultData11);
            _dataMaintainer.AddData(_sequenceResultData111);
            _dataMaintainer.AddData(_sequenceResultData112);
            _dataMaintainer.AddData(_sessionResultData12);
            _dataMaintainer.AddData(_sequenceResultData121);
            _dataMaintainer.AddData(_sequenceResultData122);
            _dataMaintainer.AddData(_runtimeStatusData1211);
            _dataMaintainer.AddData(_runtimeStatusData1212);
            _dataMaintainer.AddData(_runtimeStatusData1111);
            _dataMaintainer.AddData(_runtimeStatusData1112);
            _dataMaintainer.AddData(_performanceStatus111);
            _dataMaintainer.AddData(_performanceStatus112);
            _dataMaintainer.AddData(_performanceStatus121);
            _dataMaintainer.AddData(_performanceStatus122);

            _dataMaintainer.AddData(_testInstanceData2);
            _dataMaintainer.AddData(_sessionResultData21);
            _dataMaintainer.AddData(_sequenceResultData211);
            _dataMaintainer.AddData(_sequenceResultData212);
            _dataMaintainer.AddData(_sessionResultData22);
            _dataMaintainer.AddData(_sequenceResultData221);
            _dataMaintainer.AddData(_sequenceResultData222);
            _dataMaintainer.AddData(_runtimeStatusData2211);
            _dataMaintainer.AddData(_runtimeStatusData2212);
            _dataMaintainer.AddData(_runtimeStatusData2111);
            _dataMaintainer.AddData(_runtimeStatusData2112);
            _dataMaintainer.AddData(_performanceStatus211);
            _dataMaintainer.AddData(_performanceStatus212);
            _dataMaintainer.AddData(_performanceStatus221);
            _dataMaintainer.AddData(_performanceStatus222);
            #endregion
        }
Exemplo n.º 12
0
 public override void AddData(PerformanceStatus performanceStatus)
 {
     throw new System.InvalidOperationException();
 }