Beispiel #1
0
        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}");
        }
Beispiel #2
0
        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}");
        }
Beispiel #3
0
        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>()
                });
            }
        }