| 741 | SC_TEST_EXPECT(client.sendRaw(eventLoop, endpoint.view(), request)); |
| 742 | |
| 743 | AsyncLoopTimeout timeout; |
| 744 | timeout.callback = [this](AsyncLoopTimeout::Result&) |
| 745 | { SC_TEST_EXPECT("Test never finished. Event Loop is stuck. Timeout expired." && false); }; |
| 746 | SC_TEST_EXPECT(timeout.start(eventLoop, TimeMs{2000})); |
| 747 | eventLoop.excludeFromActiveCount(timeout); |
| 748 | |
| 749 | SC_TEST_EXPECT(eventLoop.run()); |
| 750 | SC_TEST_EXPECT(not serverContext.sawRequest); |
| 751 | SC_TEST_EXPECT(serverContext.sawError); |
| 752 | SC_TEST_EXPECT(httpServer.close()); |
| 753 | SC_TEST_EXPECT(eventLoop.close()); |
| 754 | } |
| 755 | |
| 756 | void SC::HttpAsyncServerTest::responseBodyHelpers() |
| 757 | { |
| 758 | { |
| 759 | SC::AsyncBufferView buffers[4] = {}; |
| 760 | SC::AsyncBuffersPool pool; |
| 761 | pool.setBuffers(buffers); |
| 762 | |
| 763 | RecordedWritableStream writable; |
| 764 | SC_TEST_EXPECT(writable.init(pool)); |
| 765 | |
| 766 | ProbeHttpResponse response; |
| 767 | char headers[256] = {0}; |
| 768 | response.setup(headers, writable); |
| 769 | |
| 770 | SC_TEST_EXPECT(response.sendText(200, "hello")); |
| 771 | while (writable.flushOne()) {} |
| 772 | |
| 773 | constexpr StringView expected = "HTTP/1.1 200 OK\r\n" |
| 774 | "Content-Type: text/plain; charset=utf-8\r\n" |
| 775 | "Content-Length: 5\r\n" |
| 776 | "Connection: keep-alive\r\n" |
| 777 | "\r\n" |
| 778 | "hello"; |
| 779 | SC_TEST_EXPECT(StringSpan(writable.output.toSpanConst(), false, StringEncoding::Ascii) == expected); |
| 780 | } |
| 781 | |
| 782 | { |
| 783 | SC::AsyncBufferView buffers[4] = {}; |
| 784 | SC::AsyncBuffersPool pool; |
| 785 | pool.setBuffers(buffers); |
| 786 | |
| 787 | RecordedWritableStream writable; |
| 788 | SC_TEST_EXPECT(writable.init(pool)); |
| 789 | |
| 790 | ProbeHttpResponse response; |
| 791 | char headers[256] = {0}; |
| 792 | response.setup(headers, writable); |
| 793 | |
| 794 | SC_TEST_EXPECT(response.sendRedirect(302, "/new-place")); |
| 795 | while (writable.flushOne()) {} |
| 796 |
nothing calls this directly
no test coverage detected