internal static string GetLink( this HttpRequest request, TestTarget testTarget, TestDefinition testDefinition) { var scheme = request.Scheme; var host = request.Host; return($"{scheme}://{host}/tests/{testTarget.Environment}/{testTarget.Application}/{testDefinition.TestName}"); }
internal static string GetLinkWithQuery( this HttpRequest request, TestTarget testTarget, TestDefinition testDefinition, ParameterSet parameters) { var query = parameters.GetQueryString(); query = string.IsNullOrWhiteSpace(query) ? string.Empty : $"?{query}"; return($"{request.GetLink(testTarget, testDefinition)}{query}"); }
public static IEnumerable <Test> CreateTests(TestTarget testTarget, TestDefinition definition, HttpRequest request) { var testCases = testTarget .DependencyRegistry .GetParameterSetsFor(definition.TestMethod); if (testCases.Any()) { foreach (var testCase in testCases) { yield return(new Test { Environment = testTarget.Environment, Application = testTarget.Application, Url = request.GetLinkWithQuery(testTarget, definition, testCase), Tags = definition.Tags, Parameters = testCase.ToArray() }); } } else { yield return(new Test { Environment = testTarget.Environment, Application = testTarget.Application, Url = definition.Parameters.Any() ? request.GetLinkWithQuery(testTarget, definition, definition.Parameters) : request.GetLink(testTarget, definition), Tags = definition.Tags, Parameters = definition.Parameters.Any() ? definition.Parameters.ToArray() : Array.Empty <Parameter>() }); } }