public static ScenarioResult Run(this Scenario scenario, IRemoteClient proxy) { var scenarioResult = new ScenarioResult(); scenarioResult.ScenarioName = scenario.Name; scenario.Children = scenario.Children.OrderBy(d => d.Index).ToList(); scenario.Children.ForEach(i => scenarioResult.InteractionResults.Add((i as Interaction).Run(proxy))); scenarioResult.SetResult(); if (!scenario.ExpectFailure) return scenarioResult; else if (scenarioResult.Result.status.ToLower().Equals("pass")) { scenarioResult.Result.status = "FAIL"; scenarioResult.Result.error = "Expected failure, but scenario incorrectly passed."; } else { scenarioResult.Result.status = "PASS"; scenarioResult.Result.error = ""; scenarioResult.Result.retrn = "Scenario failed correctly."; } return scenarioResult; }
public static StoryResult Run(this Story story, ILauncherClient client) { var storyResult = Behavior.Kernel.Get<StoryResult>(); storyResult.StoryName = story.Name; MapScenarios(story); testScenarios = Behavior.Kernel.Get<IScenarioBuilder>().Build(testScenarios); var fixtureUrl = "http://" + Behavior.Config.Host + "/" + Behavior.Config.FixtureContext; var httpResult = client.RequestFixtureLaunch(fixtureUrl, 10); if (httpResult.status.ToLower().Equals("pass")) { var proxy = XmlRpcProxyGen.Create(typeof(IRemoteClient)) as IRemoteClient; proxy.Url = httpResult.retrn.ToString(); storyResult = RunScenarios(storyResult, proxy); client.StopFixtureServer(fixtureUrl); storyResult.SetResult(); return storyResult; } else { var scenarioResult = new ScenarioResult(); scenarioResult.InteractionResults.Add(new InteractionResult(httpResult)); scenarioResult.SetResult(); storyResult.ScenarioResults.Add(scenarioResult); storyResult.SetResult(); return storyResult; } }
public ScenarioReport(ScenarioResult scenarioResult) { ScenarioResult = scenarioResult; }