Exemplo n.º 1
0
        /// <summary>
        /// Matches a request by request content.
        /// </summary>
        /// <param name="builder">The request matching builder instance.</param>
        /// <param name="content">The JSON request content.</param>
        /// <param name="serializerSettings">The serializer settings.</param>
        /// <returns>The request matching builder instance.</returns>
        public static RequestMatching JsonContent <T>(this RequestMatching builder, T content, JsonSerializerSettings serializerSettings)
        {
            if (builder is null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            return(builder.With(new JsonContentMatcher(content, serializerSettings)));
        }
Exemplo n.º 2
0
            public static IEnumerable <object[]> TestCases()
            {
                var streamMock = new Mock <Stream> {
                    CallBase = true
                };

                streamMock.SetReturnsDefault(true);
                Uri uri      = new Uri("http://0.0.0.0");
                var instance = new RequestMatching();

                DelegateTestCase[] testCases =
                {
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.RequestUri,
                        instance,
                        uri.ToString()),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.RequestUri,
                        instance,
                        uri),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        "key",
                        (string)null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        "key",
                        (IEnumerable <string>)null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        "key",
                        (string[])null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        new Dictionary <string,                           IEnumerable <string> >()),
#if !NETCOREAPP1_1
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        new NameValueCollection()),
#endif
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.QueryString,
                        instance,
                        "?test"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.WithoutQueryString,
                        instance),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Method,
                        instance,
                        "GET"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Method,
                        instance,
                        HttpMethod.Get),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        (string)null,
                        false),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        1),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        true),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        DateTime.Now),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        DateTimeOffset.Now),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        Enumerable.Empty <string>()),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Header,
                        instance,
                        "header",
                        new string[0]),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Headers,
                        instance,
                        "header: value"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Headers,
                        instance,
                        new Dictionary <string,                           string>()),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Headers,
                        instance,
                        new Dictionary <string,                           IEnumerable <string> >()),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.ContentType,
                        instance,
                        "text/plain"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.ContentType,
                        instance,
                        "text/plain",
                        Encoding.UTF8),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.ContentType,
                        instance,
                        new MediaTypeHeaderValue("text/plain")),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.FormData,
                        instance,
                        "key",
                        (string)null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.FormData,
                        instance,
                        new Dictionary <string,                           string>()),
#if !NETCOREAPP1_1
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.FormData,
                        instance,
                        new NameValueCollection()),
#endif
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.FormData,
                        instance,
                        new Dictionary <string,                           IEnumerable <string> >()),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.FormData,
                        instance,
                        "key=value"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Content,
                        instance,
                        "content"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Content,
                        instance,
                        "content",
                        (Encoding)null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Content,
                        instance,
                        Encoding.UTF8.GetBytes("content")),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Content,
                        instance,
                        streamMock.Object),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.WithoutContent,
                        instance),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.PartialContent,
                        instance,
                        "partial content"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.PartialContent,
                        instance,
                        "partial content",
                        (Encoding)null),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.PartialContent,
                        instance,
                        Encoding.UTF8.GetBytes("partial content")),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.PartialContent,
                        instance,
                        streamMock.Object),
                    DelegateTestCase.Create <RequestMatching,             Action <RequestMatching>,              RequestMatching>(
                        RequestMatchingExtensions.Any,
                        instance,
                        _ => { }),
                    DelegateTestCase.Create <RequestMatching,             Expression <Func <HttpRequestMessage,  bool> >, RequestMatching>(
                        RequestMatchingExtensions.Where,
                        instance,
                        _ => true),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Version,
                        instance,
                        "1.0"),
                    DelegateTestCase.Create(
                        RequestMatchingExtensions.Version,
                        instance,
                        System.Version.Parse("1.0"))
                };

                return(testCases.SelectMany(tc => tc.GetNullArgumentTestCases()));
            }
Exemplo n.º 3
0
 protected RequestMatchingExtensionsTests()
 {
     _sut = new RequestMatching();
 }
Exemplo n.º 4
0
 /// <summary>
 /// Matches a request by request content.
 /// </summary>
 /// <param name="builder">The request matching builder instance.</param>
 /// <param name="content">The JSON request content.</param>
 /// <returns>The request matching builder instance.</returns>
 public static RequestMatching JsonContent <T>(this RequestMatching builder, T content)
 {
     return(builder.JsonContent(content, null));
 }