public void Return_schedule_decisions_for_startup_items() { _eventsBuilder.AddNewEvents(_eventGraphBuilder.WorkflowStartedEvent()); var workflow = new TestWorkflow(); var workflowStartedDecisions = workflow.Decisions(_eventsBuilder.Result()); Assert.That(workflowStartedDecisions, Is.EquivalentTo(new[] { new ScheduleActivityDecision(Identity.New("Download", "1.0").ScheduleId()) })); }
public void Return_schedule_decisions_for_startup_items() { var workflow = new TestWorkflow(); var startWorkflowAction = workflow.StartupAction; var workflowStartedDecisions = startWorkflowAction.GetDecisions(); Assert.That(workflowStartedDecisions, Is.EquivalentTo(new[] { new ScheduleActivityDecision(Identity.New("Download", "1.0")) })); }
public static ITestRun GetTestRunWithStatus(TestRunStatuses status) { var workflow = new TestWorkflow(TestLabCollection.TestLabs.First()) { Name = "workflow 01" }; workflow.SetTestLab(TestLabCollection.TestLabs.First()); WorkflowCollection.Workflows.Add(workflow); var testRun = new TestRun { Name = "test run 03", Status = status }; testRun.SetWorkflow(workflow); TestRunQueue.TestRuns.Add(testRun); return testRun; }
public void Timerof_test() { var eventGraph = _builder.TimerFiredGraph(Identity.Timer("Timer1"), TimeSpan.FromSeconds(2)); var activityCompletedEvent = new TimerFiredEvent(eventGraph.First(), eventGraph); var workflow = new TestWorkflow(); var activity = workflow.GetTimerOf(activityCompletedEvent); Assert.That(activity, Is.EqualTo(TimerItem.New(Identity.Timer("Timer1"), workflow))); }
IWorkflow GivenLoadedWorkflow(int id, string name) { var workflow = new TestWorkflow(TestLabCollection.TestLabs.First()) { Name = name }; WorkflowCollection.AddWorkflow(workflow); return(workflow); }
public void Activityof_test() { var eventGraph = _builder.ActivityCompletedGraph(Identity.New("Activity1", "1.0"), "id", "result"); var activityCompletedEvent = new ActivityCompletedEvent(eventGraph.First(), eventGraph); var workflow = new TestWorkflow(); var activity = workflow.GetActivityOf(activityCompletedEvent); Assert.That(activity, Is.EqualTo(new ActivityItem(Identity.New("Activity1", "1.0"), workflow))); }
public void Get_activity_by_its_event() { var identity = Identity.New("Activity1", "1.0"); var eventGraph = _graphBuilder.ActivityCompletedGraph(identity.ScheduleId(), "id", "result"); var activityCompletedEvent = new ActivityCompletedEvent(eventGraph.First(), eventGraph); var workflow = new TestWorkflow(); var activity = workflow.GetActivityOf(activityCompletedEvent); Assert.That(activity, Is.EqualTo(new ActivityItem(identity, workflow))); }
public void Get_lambda_item_form_its_event() { var identity = Identity.Lambda("Lambda"); var eventGraph = _graphBuilder.LambdaCompletedEventGraph(identity.ScheduleId(), "id", "result"); var @event = new LambdaCompletedEvent(eventGraph.First(), eventGraph); var workflow = new TestWorkflow(); var activity = workflow.GetLambda(@event); Assert.That(activity, Is.EqualTo(new LambdaItem(identity, workflow))); }
public void Schedule_a_child_item_when_all_of_its_parent_branches_are_not_active() { var bookHotelActivityCompletedGraph = CompletedActivityGraph(BookHotelActivity); var addDinnerActivity = CompletedActivityGraph(AddDinnerActivity); var allEvents = addDinnerActivity.Concat(bookHotelActivityCompletedGraph); var decisions = new TestWorkflow().NewExecutionFor(new WorkflowHistoryEvents(allEvents, addDinnerActivity.Last().EventId, addDinnerActivity.First().EventId)).Execute(); Assert.That(decisions, Is.EqualTo(new[] { new ScheduleActivityDecision(Identity.New(ChargeCustomerActivity, Version)) })); }
public void Does_not_schedule_a_child_item_when_one_of_the_activity_in_its_parent_branch_is_just_completed_and_about_to_schedule_its_child_activity() { var bookHotelActivityCompletedGraph = CompletedActivityGraph(BookHotelActivity); var addDinnerActivity = CompletedActivityGraph(AddDinnerActivity); var bookFlightActivityStartedGraph = CompletedActivityGraph(BookFlightActivity); var allEvents = addDinnerActivity.Concat(bookHotelActivityCompletedGraph).Concat(bookFlightActivityStartedGraph); var decisions = new TestWorkflow().NewExecutionFor(new WorkflowHistoryEvents(allEvents, addDinnerActivity.Last().EventId, addDinnerActivity.First().EventId)).Execute(); Assert.That(decisions, Is.Empty); }
private void TestButton_Click(object sender, EventArgs e) { String strPhone1 = this.mPhoneOneTextBox.Text; String strPhone2 = this.mPhoneTowTextBox.Text; String workflowName = this.mWorkflowComboBox.Text; if (String.IsNullOrEmpty(strPhone1) || strPhone1.Length < 6) { MessageBox.Show("请输入正确的电话号码1!"); return; } if (!String.IsNullOrEmpty(strPhone2)) { if (strPhone2.Length < 6) { MessageBox.Show("请输入正确的电话号码2!"); return; } } if (String.IsNullOrEmpty(workflowName)) { MessageBox.Show("请选择工作流程!"); return; } String workflowId = _dict[workflowName]; if (!String.IsNullOrEmpty(workflowId)) { TestWorkflow flow = new TestWorkflow(); flow.flow_id = workflowId; flow.numbers = strPhone1; if (!String.IsNullOrEmpty(strPhone2)) { flow.numbers += "," + strPhone2; } string param = HttpControl.ObjectToJson(flow); string cmd = HttpControl.TestWorkflowCmd + "?" + "flow_id=" + flow.flow_id + "&numbers=" + flow.numbers; String strResult = HttpControl.GetHttpResponseList(cmd, 5000, this.Token.token); TestWorkflowResult result = (TestWorkflowResult)HttpControl.JsonToObject <TestWorkflowResult>(strResult); if (result == null) { MessageBox.Show("网络连接失败!"); return; } if (result.status == 0) { MessageBox.Show("测试发送成功。"); } phoneControl.startDialPstn(result.result, this.Token.token); } }
private void TestButton_Click(object sender, RoutedEventArgs e) { String strPhone1 = this.PhoneEdit.Text; String workflowName = this.WorkflowCombo.Text; if (String.IsNullOrEmpty(strPhone1) || strPhone1.Length < 6) { MessageBox.Show("请输入正确的电话号码1!"); return; } if (String.IsNullOrEmpty(workflowName)) { MessageBox.Show("请选择工作流程!"); return; } String workflowId = PageCommon.Dict[workflowName]; if (!String.IsNullOrEmpty(workflowId)) { TestWorkflow flow = new TestWorkflow(); flow.flow_id = workflowId; flow.numbers = strPhone1; string param = HttpControl.ObjectToJson(flow); string cmd = HttpControl.TestWorkflowCmd + "?" + "flow_id=" + flow.flow_id + "&numbers=" + flow.numbers; String strResult = HttpControl.GetHttpResponseList(cmd, 5000, MainWindow.main.Token.TokenCode); TestWorkflowResult result = (TestWorkflowResult)HttpControl.JsonToObject <TestWorkflowResult>(strResult); if (result == null) { MessageBox.Show("网络连接失败!"); return; } if (result.status == 0) { MessageBox.Show("测试发送成功。"); } else { TestResultError ret = (TestResultError)HttpControl.JsonToObject <TestResultError>(strResult); if (ret != null) { MessageBox.Show(ret.error); } else { MessageBox.Show("服务器连接错误"); } return; } phoneControl.startDialPstn(result.result, MainWindow.main.Token.TokenCode); } }
public void Get_timer_by_its_event() { var identity = Identity.Timer("Timer1"); var eventGraph = _graphBuilder.TimerFiredGraph(identity.ScheduleId(), TimeSpan.FromSeconds(2)); _builder.AddNewEvents(eventGraph.ToArray()); var workflow = new TestWorkflow(); workflow.Decisions(_builder.Result()); var timer = workflow.TimerItem; Assert.That(workflow.TimerItem.Name, Is.EqualTo("Timer1")); }
public static ITestRun GetTestRunWithStatus(TestRunStatuses status, params string[] rules) { var workflow = new TestWorkflow(TestLabCollection.TestLabs.First()) { Name = "workflow 01" }; workflow.SetTestLab(TestLabCollection.TestLabs.First()); WorkflowCollection.Workflows.Add(workflow); var testRun = new TestRun { Name = "test run 03", Status = status }; testRun.SetWorkflow(workflow); TestRunQueue.TestRuns.Add(testRun); var taskId = 0; if (null != rules) // 20150904 rules.ToList().ForEach(rule => TaskPool.Tasks.Add(new TestTask { Id = ++taskId, Rule = rule, WorkflowId = workflow.Id, TestRunId = testRun.Id })); // rules.ToList().ForEach(rule => TaskPool.Tasks.Add(new TestTask (TestTaskRuntimeTypes.Powershell) { Id = ++taskId, Rule = rule, WorkflowId = workflow.Id, TestRunId = testRun.Id })); return testRun; }
//[Timeout(5000)] public void should_support_integration_test_workflow_rapidfire() { var rapidFireMode = $@" StartUnitTest {theGimp}!the_test_3;5 StartUnitTest {theGimp}!the_test_2;2 StartUnitTest {theGimp}!the_test_1;1 StartUnitTest {theGimp}!the_test_1;0 StartUnitTest {theGimp}!the_test_1; "; var called = 0; var results = new Subject <UnitTestResult>(); var appCmds = Substitute.For <IServiceCommandFactory>(); appCmds.Get("StartUnitTest", Arg.Any <object[]>()).Returns(ci => { var cmdArg = (ci.ArgAt <object[]>(1)[0] as IEnumerable <string>).ToStringEach(" "); cmdArg.Should().Contain("theTestGimp.dll!the_test_", "the params should be correctly parsed"); cmdArg.Should().NotContain(";", "the expression should parse the target correctly and not include rapid syntax"); return(new StartUnitTest()); }); TestWorkflow.StartIntegrationTest(rapidFireMode, appCmds, results).Do(t => { called++; "Saw Unit test".LogDebug(); results.OnNext((UnitTestResult) new UnitTestResult() { WasSuccessful = true }.AsResultOf(t)); }).WaitR(); called.Should().Be(9, "rapidfire syntax was used to trigger the tests"); called = 0; }
public void By_default_returns_fail_workflow_decision_when_interpreted() { var decisions = new TestWorkflow().Decisions(_builder.Result()); Assert.That(decisions, Is.EqualTo(new[] { new FailWorkflowDecision("FAILED_TO_SEND_CANCEL_REQUEST", "cause") })); }
private void DownloadControlButton_Click(object sender, EventArgs e) { try { String workflowName = this.FlowComboBox.Text; if (String.IsNullOrEmpty(workflowName)) { MessageBox.Show("请选择工作流程!"); return; } String workflowId = PageCommon.Dict[workflowName]; if (!String.IsNullOrEmpty(workflowId)) { TestWorkflow flow = new TestWorkflow(); flow.flow_id = workflowId; string param = HttpControl.ObjectToJson(flow); string cmd = HttpControl.GeUrlInfoCmd + flow.flow_id + "/bot/"; String strResult = HttpControl.GetHttpResponseList(cmd, 500, this.Token.TokenCode); if (strResult == null) { MessageBox.Show("该流程没有录音文件"); return; } ResultFtpInfo ret = (ResultFtpInfo)HttpControl.JsonToObject <ResultFtpInfo>(strResult); if (strResult == null) { MessageBox.Show("网络连接失败!"); return; } if (ret.message != "成功") { MessageBox.Show("网络连接失败!"); return; } if (isNewDownload) { this.downloadIndex = 0; } var filePath = CPlayVoicePathManager.GetVoicePath(flow.flow_id); var objFullFileName = filePath + flow.flow_id.ToString() + ".zip"; Thread thread = new Thread(() => { try { long downSize = 0; long fileSize = 0; HttpManager.HttpDownloadFile(ret.data.url, objFullFileName, new UZipProgressDelegate((count, total) => { this.BeginInvoke(new InvokeDelegate(() => { downSize = total; fileSize = count; DownloadInfoTextBox.Text = "正在下载文件:" + count.ToString() + "/" + total.ToString(); })); })); if (downSize <= fileSize) { Console.WriteLine("文件下载异常的长度"); } ZipHelper.UnZip2(objFullFileName, filePath, new UZipProgressDelegate((total, count) => { this.BeginInvoke(new InvokeDelegate(() => { DownloadInfoTextBox.Text = "解压文件进度" + total.ToString() + "/" + count.ToString(); })); })); MessageBox.Show("下载完成!"); if (_isTaskCreate) { CloseButton.Text = "关闭窗口"; } } catch (Exception ex) { Console.WriteLine(ex.Message); } }); thread.Start(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
IWorkflow GivenLoadedWorkflow(int id, string name) { var workflow = new TestWorkflow(TestLabCollection.TestLabs.First()) { Name = name }; WorkflowCollection.AddWorkflow(workflow); return workflow; }