1 /* 2 * nghttp2 - HTTP/2 C Library 3 * 4 * Copyright (c) 2012 Tatsuhiro Tsujikawa 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining 7 * a copy of this software and associated documentation files (the 8 * "Software"), to deal in the Software without restriction, including 9 * without limitation the rights to use, copy, modify, merge, publish, 10 * distribute, sublicense, and/or sell copies of the Software, and to 11 * permit persons to whom the Software is furnished to do so, subject to 12 * the following conditions: 13 * 14 * The above copyright notice and this permission notice shall be 15 * included in all copies or substantial portions of the Software. 16 * 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 */ 25 #ifndef NGHTTP2_SESSION_TEST_H 26 #define NGHTTP2_SESSION_TEST_H 27 28 #ifdef HAVE_CONFIG_H 29 # include <config.h> 30 #endif /* HAVE_CONFIG_H */ 31 32 void test_nghttp2_session_recv(void); 33 void test_nghttp2_session_recv_invalid_stream_id(void); 34 void test_nghttp2_session_recv_invalid_frame(void); 35 void test_nghttp2_session_recv_eof(void); 36 void test_nghttp2_session_recv_data(void); 37 void test_nghttp2_session_recv_data_no_auto_flow_control(void); 38 void test_nghttp2_session_recv_continuation(void); 39 void test_nghttp2_session_recv_headers_with_priority(void); 40 void test_nghttp2_session_recv_headers_with_padding(void); 41 void test_nghttp2_session_recv_headers_early_response(void); 42 void test_nghttp2_session_recv_headers_for_closed_stream(void); 43 void test_nghttp2_session_recv_headers_with_extpri(void); 44 void test_nghttp2_session_server_recv_push_response(void); 45 void test_nghttp2_session_recv_premature_headers(void); 46 void test_nghttp2_session_recv_unknown_frame(void); 47 void test_nghttp2_session_recv_unexpected_continuation(void); 48 void test_nghttp2_session_recv_settings_header_table_size(void); 49 void test_nghttp2_session_recv_too_large_frame_length(void); 50 void test_nghttp2_session_recv_extension(void); 51 void test_nghttp2_session_recv_altsvc(void); 52 void test_nghttp2_session_recv_origin(void); 53 void test_nghttp2_session_recv_priority_update(void); 54 void test_nghttp2_session_continue(void); 55 void test_nghttp2_session_add_frame(void); 56 void test_nghttp2_session_on_request_headers_received(void); 57 void test_nghttp2_session_on_response_headers_received(void); 58 void test_nghttp2_session_on_headers_received(void); 59 void test_nghttp2_session_on_push_response_headers_received(void); 60 void test_nghttp2_session_on_priority_received(void); 61 void test_nghttp2_session_on_rst_stream_received(void); 62 void test_nghttp2_session_on_settings_received(void); 63 void test_nghttp2_session_on_push_promise_received(void); 64 void test_nghttp2_session_on_ping_received(void); 65 void test_nghttp2_session_on_goaway_received(void); 66 void test_nghttp2_session_on_window_update_received(void); 67 void test_nghttp2_session_on_data_received(void); 68 void test_nghttp2_session_on_data_received_fail_fast(void); 69 void test_nghttp2_session_on_altsvc_received(void); 70 void test_nghttp2_session_send_headers_start_stream(void); 71 void test_nghttp2_session_send_headers_reply(void); 72 void test_nghttp2_session_send_headers_frame_size_error(void); 73 void test_nghttp2_session_send_headers_push_reply(void); 74 void test_nghttp2_session_send_rst_stream(void); 75 void test_nghttp2_session_send_push_promise(void); 76 void test_nghttp2_session_is_my_stream_id(void); 77 void test_nghttp2_session_upgrade2(void); 78 void test_nghttp2_session_reprioritize_stream(void); 79 void test_nghttp2_session_reprioritize_stream_with_idle_stream_dep(void); 80 void test_nghttp2_submit_data(void); 81 void test_nghttp2_submit_data_read_length_too_large(void); 82 void test_nghttp2_submit_data_read_length_smallest(void); 83 void test_nghttp2_submit_data_twice(void); 84 void test_nghttp2_submit_request_with_data(void); 85 void test_nghttp2_submit_request_without_data(void); 86 void test_nghttp2_submit_response_with_data(void); 87 void test_nghttp2_submit_response_without_data(void); 88 void test_nghttp2_submit_response_push_response(void); 89 void test_nghttp2_submit_trailer(void); 90 void test_nghttp2_submit_headers_start_stream(void); 91 void test_nghttp2_submit_headers_reply(void); 92 void test_nghttp2_submit_headers_push_reply(void); 93 void test_nghttp2_submit_headers(void); 94 void test_nghttp2_submit_headers_continuation(void); 95 void test_nghttp2_submit_headers_continuation_extra_large(void); 96 void test_nghttp2_submit_priority(void); 97 void test_nghttp2_submit_settings(void); 98 void test_nghttp2_submit_settings_update_local_window_size(void); 99 void test_nghttp2_submit_settings_multiple_times(void); 100 void test_nghttp2_submit_push_promise(void); 101 void test_nghttp2_submit_window_update(void); 102 void test_nghttp2_submit_window_update_local_window_size(void); 103 void test_nghttp2_submit_shutdown_notice(void); 104 void test_nghttp2_submit_invalid_nv(void); 105 void test_nghttp2_submit_extension(void); 106 void test_nghttp2_submit_altsvc(void); 107 void test_nghttp2_submit_origin(void); 108 void test_nghttp2_submit_priority_update(void); 109 void test_nghttp2_submit_rst_stream(void); 110 void test_nghttp2_session_open_stream(void); 111 void test_nghttp2_session_open_stream_with_idle_stream_dep(void); 112 void test_nghttp2_session_get_next_ob_item(void); 113 void test_nghttp2_session_pop_next_ob_item(void); 114 void test_nghttp2_session_reply_fail(void); 115 void test_nghttp2_session_max_concurrent_streams(void); 116 void test_nghttp2_session_stop_data_with_rst_stream(void); 117 void test_nghttp2_session_defer_data(void); 118 void test_nghttp2_session_flow_control(void); 119 void test_nghttp2_session_flow_control_data_recv(void); 120 void test_nghttp2_session_flow_control_data_with_padding_recv(void); 121 void test_nghttp2_session_data_read_temporal_failure(void); 122 void test_nghttp2_session_on_stream_close(void); 123 void test_nghttp2_session_on_ctrl_not_send(void); 124 void test_nghttp2_session_get_outbound_queue_size(void); 125 void test_nghttp2_session_get_effective_local_window_size(void); 126 void test_nghttp2_session_set_option(void); 127 void test_nghttp2_session_data_backoff_by_high_pri_frame(void); 128 void test_nghttp2_session_pack_data_with_padding(void); 129 void test_nghttp2_session_pack_headers_with_padding(void); 130 void test_nghttp2_pack_settings_payload(void); 131 void test_nghttp2_session_stream_dep_add(void); 132 void test_nghttp2_session_stream_dep_remove(void); 133 void test_nghttp2_session_stream_dep_add_subtree(void); 134 void test_nghttp2_session_stream_dep_remove_subtree(void); 135 void test_nghttp2_session_stream_dep_all_your_stream_are_belong_to_us(void); 136 void test_nghttp2_session_stream_attach_item(void); 137 void test_nghttp2_session_stream_attach_item_subtree(void); 138 void test_nghttp2_session_stream_get_state(void); 139 void test_nghttp2_session_stream_get_something(void); 140 void test_nghttp2_session_find_stream(void); 141 void test_nghttp2_session_keep_closed_stream(void); 142 void test_nghttp2_session_keep_idle_stream(void); 143 void test_nghttp2_session_detach_idle_stream(void); 144 void test_nghttp2_session_large_dep_tree(void); 145 void test_nghttp2_session_graceful_shutdown(void); 146 void test_nghttp2_session_on_header_temporal_failure(void); 147 void test_nghttp2_session_recv_client_magic(void); 148 void test_nghttp2_session_delete_data_item(void); 149 void test_nghttp2_session_open_idle_stream(void); 150 void test_nghttp2_session_cancel_reserved_remote(void); 151 void test_nghttp2_session_reset_pending_headers(void); 152 void test_nghttp2_session_send_data_callback(void); 153 void test_nghttp2_session_on_begin_headers_temporal_failure(void); 154 void test_nghttp2_session_defer_then_close(void); 155 void test_nghttp2_session_detach_item_from_closed_stream(void); 156 void test_nghttp2_session_flooding(void); 157 void test_nghttp2_session_change_stream_priority(void); 158 void test_nghttp2_session_change_extpri_stream_priority(void); 159 void test_nghttp2_session_create_idle_stream(void); 160 void test_nghttp2_session_repeated_priority_change(void); 161 void test_nghttp2_session_repeated_priority_submission(void); 162 void test_nghttp2_session_set_local_window_size(void); 163 void test_nghttp2_session_cancel_from_before_frame_send(void); 164 void test_nghttp2_session_too_many_settings(void); 165 void test_nghttp2_session_removed_closed_stream(void); 166 void test_nghttp2_session_pause_data(void); 167 void test_nghttp2_session_no_closed_streams(void); 168 void test_nghttp2_session_set_stream_user_data(void); 169 void test_nghttp2_session_no_rfc7540_priorities(void); 170 void test_nghttp2_session_server_fallback_rfc7540_priorities(void); 171 void test_nghttp2_http_mandatory_headers(void); 172 void test_nghttp2_http_content_length(void); 173 void test_nghttp2_http_content_length_mismatch(void); 174 void test_nghttp2_http_non_final_response(void); 175 void test_nghttp2_http_trailer_headers(void); 176 void test_nghttp2_http_ignore_regular_header(void); 177 void test_nghttp2_http_ignore_content_length(void); 178 void test_nghttp2_http_record_request_method(void); 179 void test_nghttp2_http_push_promise(void); 180 void test_nghttp2_http_head_method_upgrade_workaround(void); 181 void test_nghttp2_http_no_rfc9113_leading_and_trailing_ws_validation(void); 182 183 #endif /* NGHTTP2_SESSION_TEST_H */ 184