public void ReadSession() { _dataMaintainer.DesigntimeInitialize(); IList <SessionResultData> sessionResultDatas1 = _dataMaintainer.GetSessionResults(_testInstanceData1.RuntimeHash); Assert.IsTrue(AreEqauls(_sessionResultData11, sessionResultDatas1[0])); Assert.IsTrue(AreEqauls(_sessionResultData12, sessionResultDatas1[1])); IList <SessionResultData> sessionResultDatas2 = _dataMaintainer.GetSessionResults(_testInstanceData2.RuntimeHash); Assert.IsTrue(AreEqauls(_sessionResultData21, sessionResultDatas2[0])); Assert.IsTrue(AreEqauls(_sessionResultData22, sessionResultDatas2[1])); SessionResultData sessionResultData1 = _dataMaintainer.GetSessionResult(_sessionResultData11.RuntimeHash, _sessionResultData11.Session); Assert.IsTrue(AreEqauls(_sessionResultData11, sessionResultData1)); SessionResultData sessionResultData2 = _dataMaintainer.GetSessionResult(_sessionResultData12.RuntimeHash, _sessionResultData12.Session); Assert.IsTrue(AreEqauls(_sessionResultData12, sessionResultData2)); SessionResultData sessionResultData3 = _dataMaintainer.GetSessionResult(_sessionResultData21.RuntimeHash, _sessionResultData21.Session); Assert.IsTrue(AreEqauls(_sessionResultData21, sessionResultData3)); SessionResultData sessionResultData4 = _dataMaintainer.GetSessionResult(_sessionResultData22.RuntimeHash, _sessionResultData22.Session); Assert.IsTrue(AreEqauls(_sessionResultData22, sessionResultData4)); }
public virtual void AddData(SessionResultData sessionResult) { Dictionary <string, string> columnToValue = DataModelMapper.GetColumnValueMapping(sessionResult); string cmd = SqlCommandFactory.CreateInsertCmd(DataBaseItemNames.SessionTableName, columnToValue); ExecuteWriteCommand(cmd); }
public virtual void UpdateData(SessionResultData sessionResult) { SessionResultData lastSessionResult = InternalGetSessionResult(sessionResult.RuntimeHash, sessionResult.Session); Dictionary <string, string> lastSessionValues = DataModelMapper.GetColumnValueMapping(lastSessionResult); Dictionary <string, string> columnToValue = DataModelMapper.GetColumnValueMapping(sessionResult); string filter = $"{DataBaseItemNames.RuntimeIdColumn}='{sessionResult.RuntimeHash}' AND {DataBaseItemNames.SessionIdColumn}={sessionResult.Session}"; string cmd = SqlCommandFactory.CreateUpdateCmd(DataBaseItemNames.SessionTableName, lastSessionValues, columnToValue, filter); ExecuteWriteCommand(cmd); }
protected SessionResultData InternalGetSessionResult(string runtimeHash, int sessionId) { string filter = $"{DataBaseItemNames.RuntimeIdColumn}='{runtimeHash}' AND {DataBaseItemNames.SessionIdColumn}={sessionId}"; string cmd = SqlCommandFactory.CreateQueryCmd(filter, DataBaseItemNames.SessionTableName); using (DbDataReader dataReader = ExecuteReadCommand(cmd)) { SessionResultData sessionResultData = null; if (dataReader.Read()) { sessionResultData = new SessionResultData(); DataModelMapper.ReadToObject(dataReader, sessionResultData); } return(sessionResultData); } }
public virtual IList <SessionResultData> GetSessionResults(string runtimeHash) { string filter = $"{DataBaseItemNames.RuntimeIdColumn}='{runtimeHash}'"; List <SessionResultData> resultDatas = new List <SessionResultData>(10); string cmd = SqlCommandFactory.CreateQueryCmd(filter, DataBaseItemNames.SessionTableName); using (DbDataReader dataReader = ExecuteReadCommand(cmd)) { while (dataReader.Read()) { SessionResultData sessionResultData = new SessionResultData(); DataModelMapper.ReadToObject(dataReader, sessionResultData); resultDatas.Add(sessionResultData); } return(resultDatas); } }
private static SessionResultData CreateSessionResult(int instanceId, int sessionid) { SessionResultData sessionResultData = new SessionResultData() { RuntimeHash = $"RuntimeHash{instanceId}", Name = $"Session{sessionid}", Description = $"InstanceDescription{sessionid}", Session = sessionid, SequenceHash = $"SequenceHash{instanceId}_{sessionid}", StartTime = DateTime.Now - new TimeSpan(0, 0, 1, 1), EndTime = DateTime.Now - new TimeSpan(0, 0, 0, 1), ElapsedTime = 10000, State = RuntimeState.Over, FailedInfo = null }; return(sessionResultData); }
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); }
public void UpdateData(SessionResultData result) { _dataMaintainer.UpdateData(result); }
public void WriteData(SessionResultData result) { _dataMaintainer.AddData(result); }
public void UpdateData(SessionResultData result) { // TODO }
public void WriteData(SessionResultData result) { // TODO }
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); }
public void UpdateData(SessionResultData sessionResult) { _databaseProxy.UpdateData(sessionResult); }
public void AddData(SessionResultData sessionResult) { _databaseProxy.AddData(sessionResult); }
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 }
public override void UpdateData(SessionResultData sessionResult) { throw new System.InvalidOperationException(); }