* Copyright 2021 Haiku, inc.
* Distributed under the terms of the MIT License.
*/
#ifndef HTTP_TEST_H
#define HTTP_TEST_H
#include <HttpSession.h>
#include <TestCase.h>
#include <TestSuite.h>
#include <tools/cppunit/ThreadedTestCase.h>
#include "HttpDebugLogger.h"
#include "TestServer.h"
using BPrivate::Network::BHttpSession;
class HttpProtocolTest : public BTestCase
{
public:
HttpProtocolTest();
void HttpFieldsTest();
void HttpMethodTest();
void HttpRequestTest();
void HttpTimeTest();
static void AddTests(BTestSuite& suite);
};
class HttpIntegrationTest : public BThreadedTestCase
{
public:
HttpIntegrationTest(TestServerMode mode);
virtual void setUp() override;
virtual void tearDown() override;
void HostAndNetworkFailTest();
void GetTest();
void GetWithBufferTest();
void HeadTest();
void NoContentTest();
void AutoRedirectTest();
void BasicAuthTest();
void StopOnErrorTest();
void RequestCancelTest();
void PostTest();
static void AddTests(BTestSuite& suite);
private:
TestServer fTestServer;
BHttpSession fSession;
HttpDebugLogger* fLogger;
BMessenger fLoggerMessenger;
};
#endif