示例#1
0
        /// <summary>
        /// Testuje, či je obsah správy HTTP odpovede určitého typu.
        /// </summary>
        /// <typeparam name="TContentType">Type of expected HTTP content.</typeparam>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpHandlerResponseMessageTestBuilder ValidWithContentOfType <TContentType>()
            where TContentType : HttpContent
        {
            HttpResponseMessageValidator.WithContentOfType <TContentType>(
                this.httpResponseMessage.Content,
                this.ThrowNewHttpResponseMessageAssertionException);

            return(this);
        }
示例#2
0
        /// <summary>
        /// Testuje, či obsah reťazca správ HTTP odpovedá daným tvrdeniam.
        /// </summary>
        /// <param name="assertions">Action containing all assertions on the string content.</param>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpHandlerResponseMessageTestBuilder ValidWithStringContent(Action <JObject> assertions)
        {
            HttpResponseMessageValidator.ContainingResponse(
                this.httpResponseMessage.Content,
                this.ThrowNewHttpResponseMessageAssertionException);
            assertions(JObject.Parse(this.GetJsonContent()));

            return(this);
        }
示例#3
0
        /// <summary>
        /// Tests whether the content of the HTTP response message is the provided string.
        /// </summary>
        /// <param name="content">Expected string content.</param>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpResponseMessageTestBuilder WithContent(string content)
        {
            HttpResponseMessageValidator.WithStringContent(
                this.httpResponseMessage.Content,
                content,
                this.ThrowNewHttpResponseMessageAssertionException);

            return(this);
        }
示例#4
0
        /// <summary>
        /// Testuje, či sa určitý typ modelu odpovede vráti z obsahu správy odpovedí HTTP.
        /// </summary>
        /// <typeparam name="TResponseModel">Type of the response model.</typeparam>
        /// <returns>Builder for testing the response model errors.</returns>
        public IHttpHandlerModelDetailsTestBuilder <TResponseModel> WithResponsemodelDeserialize <TResponseModel>()
        {
            var actualModel = HttpResponseMessageValidator.DeserializeactualContentModel <TResponseModel>(
                this.httpResponseMessage.Content,
                this.ThrowNewResponseModelAssertionException);

            return(new HttpHandlerModelDetailsTestBuilder <TResponseModel>(
                       this,
                       actualModel));
        }
示例#5
0
        /// <summary>
        /// Tests whether the HTTP response message contains content header with certain name.
        /// </summary>
        /// <param name="name">Name of expected content header.</param>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpResponseMessageTestBuilder ContainingContentHeader(string name)
        {
            HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
            HttpResponseMessageValidator.ContainingHeader(
                this.httpResponseMessage.Content.Headers,
                name,
                this.ThrowNewHttpResponseMessageAssertionException,
                isContentHeader: true);

            return(this);
        }
        /// <summary>
        /// Testuje, či sa určitý typ modelu odpovede vráti z obsahu objektu HTTP odpoveď.
        /// </summary>
        /// <typeparam name="TResponseModel">Type of the response model.</typeparam>
        /// <returns>Builder for testing the response model errors.</returns>
        public IModelDetailsTestBuilder <TResponseModel> ValidWithResponseModelOfType <TResponseModel>()
        {
            var actualModel = HttpResponseMessageValidator.GetActualContentModel <TResponseModel>(
                this.ActionResult.Content,
                this.ThrowNewResponseModelAssertionException);

            return(new ModelDetailsTestBuilder <TResponseModel>(
                       this.Controller,
                       this.ActionName,
                       this.CaughtException,
                       actualModel));
        }
示例#7
0
        /// <summary>
        /// Testuje, či správa odozvy HTTP obsahuje záhlavie obsahu s určitým názvom a zberom hodnoty.
        /// </summary>
        /// <param name="name">Name of expected content header.</param>
        /// <param name="values">Collection of values in the expected content header.</param>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpHandlerResponseMessageTestBuilder ValidContainingContentHeader(string name, IEnumerable <string> values)
        {
            HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
            HttpResponseMessageValidator.ContainingHeader(
                this.httpResponseMessage.Content.Headers,
                name,
                values,
                this.ThrowNewHttpResponseMessageAssertionException,
                isContentHeader: true);

            return(this);
        }
示例#8
0
        /// <summary>
        /// Testuje, či sa od spomenutého obsahu správy HTTP odošle rovnaký objekt ako bol poskytnutý.
        /// </summary>
        /// <typeparam name="TResponseModel">Type of the response model.</typeparam>
        /// <param name="expectedModel">Expected model to be returned.</param>
        /// <returns>Builder for testing the response model errors.</returns>
        public IHttpHandlerModelDetailsTestBuilder <TResponseModel> WithResponseModel <TResponseModel>(TResponseModel expectedModel)
        {
            var actualModel = HttpResponseMessageValidator.WithResponseModel(
                this.httpResponseMessage.Content,
                expectedModel,
                this.ThrowNewHttpResponseMessageAssertionException,
                this.ThrowNewResponseModelAssertionException);

            return(new HttpHandlerModelDetailsTestBuilder <TResponseModel>(
                       this,
                       actualModel));
        }
示例#9
0
        /// <summary>
        /// Testuje, či správa o odozve HTTP obsahuje hlavičky obsahu poskytnuté v slovníku.
        /// </summary>
        /// <param name="headers">Dictionary containing content headers.</param>
        /// <returns>The same HTTP response message test builder.</returns>
        public IAndHttpHandlerResponseMessageTestBuilder ValidContainingContentHeaders(
            IDictionary <string, IEnumerable <string> > headers)
        {
            HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
            HttpResponseMessageValidator.ValidateHeadersCount(
                headers,
                this.httpResponseMessage.Content.Headers,
                this.ThrowNewHttpResponseMessageAssertionException,
                isContentHeaders: true);

            headers.ForEach(h => this.ValidContainingContentHeader(h.Key, h.Value));
            return(this);
        }
        /// <summary>
        /// Testuje, či sa hromadne zhodný objekt s poskytnutým objektom vráti z obsahu objektového hlásenia odozvy HTTP.
        /// </summary>
        /// <typeparam name="TResponseModel">Type of the response model.</typeparam>
        /// <param name="expectedModel">Expected model to be returned.</param>
        /// <returns>Builder for testing the response model errors.</returns>
        public IModelDetailsTestBuilder <TResponseModel> ValidWithResponseModel <TResponseModel>(TResponseModel expectedModel)
        {
            var actualModel = HttpResponseMessageValidator.WithResponseModel(
                this.ActionResult.Content,
                expectedModel,
                this.ThrowNewHttpResponseMessageAssertionException,
                this.ThrowNewResponseModelAssertionException);

            return(new ModelDetailsTestBuilder <TResponseModel>(
                       this.Controller,
                       this.ActionName,
                       this.CaughtException,
                       actualModel));
        }
示例#11
0
 /// <summary>
 /// Tvrdi, ze aktualny System.DateTime je teraz alebo predtym
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazvy property objektov</param>
 /// <param name="value">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldBeOnOrBefore(IDictionary <string, DateTime> values)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     values.ForEach(h => HttpResponseMessageValidator.ShouldBeOnOrBefore(this.httpResponseMessage.Content, h.Key, h.Value, this.ThrowNewHttpResponseMessageAssertionException));
     return(this);
 }
示例#12
0
 /// <summary>
 /// Tvrdi, ze hodnota nie je null
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldNotBeNull()
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldNotBeNull(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#13
0
 /// <summary>
 /// Tvrdi, ze hodnota je false
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazvy property objektov</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldBeFalse(string name)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldBeFalse(this.httpResponseMessage.Content, name, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#14
0
 /// <summary>
 /// Tvrdi, ze retazec obsahuje specifikovane ocakavane hodnoty
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazvy property objektov</param>
 /// <param name="value">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldContainEquivalentOf(IDictionary <IEnumerable <string>, long> values)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     values.ForEach(v => this.CheckShouldContainEquivalentOf(v.Key, v.Value));
     return(this);
 }
 /// <summary>
 /// Testuje, či správa o odozve HTTP obsahuje hlavičku odpovede s určitým názvom a zberom hodnoty.
 /// </summary>
 /// <param name="name">Name of expected response header.</param>
 /// <param name="values">Collection of values in the expected response header.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder ValidContainingHeader(string name, IEnumerable <string> values)
 {
     HttpResponseMessageValidator.ContainingHeader(this.ActionResult.Headers, name, values, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
 /// <summary>
 /// Testuje, či správa odozvy HTTP obsahuje hlavičky odpovedí poskytnuté v slovníku.
 /// </summary>
 /// <param name="headers">Dictionary containing response headers.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder ValidContainingHeaders(IDictionary <string, IEnumerable <string> > headers)
 {
     HttpResponseMessageValidator.ValidateHeadersCount(headers, this.ActionResult.Headers, this.ThrowNewHttpResponseMessageAssertionException);
     headers.ForEach(h => this.ValidContainingHeader(h.Key, h.Value));
     return(this);
 }
示例#17
0
 /// <summary>
 /// Tests whether HTTP response message reason phrase is the same as the provided reason phrase as string.
 /// </summary>
 /// <param name="reasonPhrase">Expected reason phrase as string.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder WithReasonPhrase(string reasonPhrase)
 {
     HttpResponseMessageValidator.WithReasonPhrase(this.httpResponseMessage, reasonPhrase, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#18
0
 /// <summary>
 /// Testuje, či správa odozvy HTTP obsahuje hlavičku odpovede s určitým názvom.
 /// </summary>
 /// <param name="name">Name of expected response header.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpHandlerResponseMessageTestBuilder ValidContainingHeaderType(string name)
 {
     HttpResponseMessageValidator.ContainHeaderType(this.httpResponseMessage.Content, name, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#19
0
 /// <summary>
 /// Testuje, či správa odozvy HTTP obsahuje hlavičku odpovede s urcitou dlzkou.
 /// </summary>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpHandlerResponseMessageTestBuilder ValidContainingLength()
 {
     HttpResponseMessageValidator.ContainLength(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#20
0
 /// <summary>
 /// Testuje, či je stavový kód správy o odozve HTTP rovnaký ako kód HttpStatusCode.
 /// </summary>
 /// <param name="statusCode">Expected status code.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpHandlerResponseMessageTestBuilder ValidWithStatusCode(HttpStatusCode statusCode)
 {
     HttpResponseMessageValidator.ValidWithStatusCode(this.httpResponseMessage, statusCode, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#21
0
 /// <summary>
 /// Tvrdenie, ze System.String je jednou zo specifikovanych values
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazov property objektu</param>
 /// <param name="values">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldBeOneOf(string name, IEnumerable <string> values)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldBeOneOf(this.httpResponseMessage.Content, name, values, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#22
0
 /// <summary>
 /// Tvrdenie, ze pocet poloziek v kolekcii je mensi alebo rovnaky ako ocakavana hodnota
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="value">Ocakavana hodnota objektu</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldHaveCountLessOrEqualTo(int value)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldHaveCountLessOrEqualTo(this.httpResponseMessage.Content, value, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#23
0
 /// <summary>
 /// Tvrdenie, ze ciselna hodnota je vacsia alebo rovna ako zadana ocakavana hodnota
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazov property objektu</param>
 /// <param name="value">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldBeGreaterOrEqualTo(string name, long value)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldBeGreaterOrEqualTo(this.httpResponseMessage.Content, name, value, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#24
0
 /// <summary>
 /// Tests whether HTTP response message version is the same as the provided version.
 /// </summary>
 /// <param name="version">Expected version.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder WithVersion(Version version)
 {
     HttpResponseMessageValidator.WithVersion(this.httpResponseMessage, version, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#25
0
 /// <summary>
 /// Tvrdi, ze ciselna hodnota je mensia alebo rovna ako ocakavana hodnota
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazov property objektu</param>
 /// <param name="value">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldBeLessOrEqualTo(IDictionary <string, long> values)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     values.ForEach(v => this.CheckShouldBeLessOrEqualTo(v.Key, v.Value));
     return(this);
 }
示例#26
0
 /// <summary>
 /// Tests whether HTTP response message returns success status code between 200 and 299.
 /// </summary>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder WithSuccessStatusCode()
 {
     HttpResponseMessageValidator.WithSuccessStatusCode(this.httpResponseMessage, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#27
0
 /// <summary>
 /// Tvrdi, ze retazec obsahuje specifikovane ocakavane hodnoty
 /// </summary>
 /// <param name="actualContent">Aktualny Http content</param>
 /// <param name="name">Nazvy property objektov</param>
 /// <param name="value">Specifikovane hodnoty</param>
 public IAndHttpHandlerResponseMessageTestBuilder CheckShouldContainEquivalentOf(IEnumerable <string> names, long value)
 {
     HttpResponseMessageValidator.ValidateContent(this.httpResponseMessage.Content, this.ThrowNewHttpResponseMessageAssertionException);
     HttpResponseMessageValidator.ShouldContainEquivalentOf(this.httpResponseMessage.Content, names, value, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#28
0
 /// <summary>
 /// Tests whether the HTTP response message contains response header with certain name and value.
 /// </summary>
 /// <param name="name">Name of expected response header.</param>
 /// <param name="value">Value of expected response header.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder ContainingHeader(string name, string value)
 {
     HttpResponseMessageValidator.ContainingHeader(this.httpResponseMessage.Headers, name, value, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }
示例#29
0
 /// <summary>
 /// Tests whether HTTP response message status code is the same as the provided HttpStatusCode.
 /// </summary>
 /// <param name="statusCode">Expected status code.</param>
 /// <returns>The same HTTP response message test builder.</returns>
 public IAndHttpResponseMessageTestBuilder WithStatusCode(HttpStatusCode statusCode)
 {
     HttpResponseMessageValidator.WithStatusCode(this.ActionResult, statusCode, this.ThrowNewHttpResponseMessageAssertionException);
     return(this);
 }