]> git.ipfire.org Git - thirdparty/squid.git/blob - src/tests/testHttp1Parser.h
Source Format Enforcement (#532)
[thirdparty/squid.git] / src / tests / testHttp1Parser.h
1 /*
2 * Copyright (C) 1996-2020 The Squid Software Foundation and contributors
3 *
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
7 */
8
9 #ifndef SQUID_SRC_TESTS_TESTHTTP1PARSER_H
10 #define SQUID_SRC_TESTS_TESTHTTP1PARSER_H
11
12 #include <cppunit/extensions/HelperMacros.h>
13
14 class testHttp1Parser : public CPPUNIT_NS::TestFixture
15 {
16 CPPUNIT_TEST_SUITE( testHttp1Parser );
17 // object basics are working, just in case.
18 CPPUNIT_TEST( testParserConstruct );
19 CPPUNIT_TEST( testDripFeed );
20 CPPUNIT_TEST( testParseRequestLineMethods );
21 CPPUNIT_TEST( testParseRequestLineProtocols );
22 CPPUNIT_TEST( testParseRequestLineTerminators );
23 CPPUNIT_TEST( testParseRequestLineStrange );
24 CPPUNIT_TEST( testParseRequestLineInvalid );
25 CPPUNIT_TEST_SUITE_END();
26
27 protected:
28 void globalSetup(); // MemPools init etc.
29
30 void testParserConstruct(); // whether the constructor works
31
32 // request-line unit tests
33 void testParseRequestLineTerminators(); // terminator detection correct
34 void testParseRequestLineMethods(); // methoid detection correct
35 void testParseRequestLineProtocols(); // protocol tokens handled correctly
36 void testParseRequestLineStrange(); // strange but valid lines accepted
37 void testParseRequestLineInvalid(); // rejection of invalid lines happens
38
39 void testDripFeed(); // test incremental parse works
40 };
41
42 #endif
43