public void methods_with_the_attribute_are_included() { given_pipeline_selectedHandler <Handler>(); given_filter(); given_request_uriName("RouteName"); given_request_httpmethod("GET"); given_operations(); when_filtering_operations(); FilteredOperations.ShouldHaveCountOf(2); FilteredOperations.SingleOrDefault(x => x.Name == "GetForRouteName") .ShouldNotBeNull(); FilteredOperations.SingleOrDefault(x => x.Name == "PostForRouteName") .ShouldNotBeNull(); }
public void operations_with_partially_filled_members_still_get_codec_assigned() { given_filter(); given_operations(); given_request_header_content_type(MediaType.ApplicationXWwwFormUrlencoded); given_registration_codec <ApplicationXWwwFormUrlencodedKeyedValuesCodec>(); given_request_entity_body("firstname=Frodo"); given_operation_property(x => x.Name == "GetFrodo", "lastname", "baggins"); when_filtering_operations(); FilteredOperations.First(x => x.Name == "GetFrodo").GetRequestCodec() .ShouldNotBeNull() .CodecRegistration.CodecType .ShouldBe <ApplicationXWwwFormUrlencodedKeyedValuesCodec>(); }
public void the_content_type_is_set_to_application_octet_stream() { given_filter(); given_operations(); given_request_header_content_type((string)null); given_registration_codec <ApplicationOctetStreamCodec>(); given_request_httpmethod("POST"); given_request_entity_body(new byte[] { 0 }); Request.Entity.ContentLength = null; Request.Headers.Add("transfer-encoding", "chunked"); when_filtering_operations(); var selectedCodec = FilteredOperations.First(x => x.Name == "PostForStream"); selectedCodec.GetRequestCodec().CodecRegistration.MediaType.Matches(MediaType.ApplicationOctetStream) .ShouldBeTrue(); }
IOperation then_operation_should_be_selected(string methodName) { return(FilteredOperations.FirstOrDefault(x => x.Name == methodName).ShouldNotBeNull()); }
void codec_is_not_assigned(string methodName) { FilteredOperations.First(x => x.Name == methodName).GetRequestCodec().ShouldBeNull(); }