public void MatcherModelMapper_Map_Null() { // Act IMatcher matcher = MatcherModelMapper.Map(null); // Assert Check.That(matcher).IsNull(); }
public void MatcherModelMapper_Map_SimMetricsMatcher_Throws2() { // Assign var model = new MatcherModel { Name = "SimMetricsMatcher.error", Pattern = "x" }; // Act Check.ThatCode(() => MatcherModelMapper.Map(model)).Throws <NotSupportedException>(); }
public void MatcherModelMapper_Map_SimMetricsMatcher() { // Assign var model = new MatcherModel { Name = "SimMetricsMatcher", Pattern = "x" }; // Act var matcher = (SimMetricsMatcher)MatcherModelMapper.Map(model); // Assert Check.That(matcher.GetPatterns()).ContainsExactly("x"); }
public void MatcherModelMapper_Map_ExactMatcher_Patterns() { // Assign var model = new MatcherModel { Name = "ExactMatcher", Patterns = new[] { "x", "y" } }; // Act var matcher = (ExactMatcher)MatcherModelMapper.Map(model); // Assert Check.That(matcher.GetPatterns()).ContainsExactly("x", "y"); }
public void MatcherModelMapper_Map_WildcardMatcher() { // Assign var model = new MatcherModel { Name = "WildcardMatcher", Patterns = new[] { "x", "y" }, IgnoreCase = true }; // Act var matcher = (WildcardMatcher)MatcherModelMapper.Map(model); // Assert Check.That(matcher.GetPatterns()).ContainsExactly("x", "y"); Check.That(matcher.IsMatch("X")).IsEqualTo(0.5d); }
private IRequestBuilder InitRequestBuilder(RequestModel requestModel) { IRequestBuilder requestBuilder = Request.Create(); if (requestModel.ClientIP != null) { if (requestModel.ClientIP is string clientIP) { requestBuilder = requestBuilder.WithClientIP(clientIP); } else { var clientIPModel = JsonUtils.ParseJTokenToObject <ClientIPModel>(requestModel.ClientIP); if (clientIPModel?.Matchers != null) { requestBuilder = requestBuilder.WithPath(clientIPModel.Matchers.Select(MatcherModelMapper.Map).Cast <IStringMatcher>().ToArray()); } } } if (requestModel.Path != null) { if (requestModel.Path is string path) { requestBuilder = requestBuilder.WithPath(path); } else { var pathModel = JsonUtils.ParseJTokenToObject <PathModel>(requestModel.Path); if (pathModel?.Matchers != null) { requestBuilder = requestBuilder.WithPath(pathModel.Matchers.Select(MatcherModelMapper.Map).Cast <IStringMatcher>().ToArray()); } } } if (requestModel.Url != null) { if (requestModel.Url is string url) { requestBuilder = requestBuilder.WithUrl(url); } else { var urlModel = JsonUtils.ParseJTokenToObject <UrlModel>(requestModel.Url); if (urlModel?.Matchers != null) { requestBuilder = requestBuilder.WithUrl(urlModel.Matchers.Select(MatcherModelMapper.Map).Cast <IStringMatcher>().ToArray()); } } } if (requestModel.Methods != null) { requestBuilder = requestBuilder.UsingMethod(requestModel.Methods); } if (requestModel.Headers != null) { foreach (var headerModel in requestModel.Headers.Where(h => h.Matchers != null)) { requestBuilder = requestBuilder.WithHeader(headerModel.Name, headerModel.Matchers.Select(MatcherModelMapper.Map).Cast <IStringMatcher>().ToArray()); } } if (requestModel.Cookies != null) { foreach (var cookieModel in requestModel.Cookies.Where(c => c.Matchers != null)) { requestBuilder = requestBuilder.WithCookie(cookieModel.Name, cookieModel.Matchers.Select(MatcherModelMapper.Map).Cast <IStringMatcher>().ToArray()); } } if (requestModel.Params != null) { foreach (var paramModel in requestModel.Params) { requestBuilder = paramModel.Values == null?requestBuilder.WithParam(paramModel.Name) : requestBuilder.WithParam(paramModel.Name, paramModel.Values.ToArray()); } } if (requestModel.Body?.Matcher != null) { var bodyMatcher = MatcherModelMapper.Map(requestModel.Body.Matcher); requestBuilder = requestBuilder.WithBody(bodyMatcher); } return(requestBuilder); }