|
Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include "PasswordManager.h"#include "ServiceBroker.h"#include "URL.h"#include "filesystem/CurlFile.h"#include "filesystem/File.h"#include "interfaces/json-rpc/JSONRPC.h"#include "network/DNSNameCache.h"#include "network/WebServer.h"#include "network/httprequesthandler/HTTPJsonRpcHandler.h"#include "network/httprequesthandler/HTTPVfsHandler.h"#include "settings/MediaSourceSettings.h"#include "test/TestUtils.h"#include "utils/JSONVariantParser.h"#include "utils/StringUtils.h"#include "utils/URIUtils.h"#include "utils/Variant.h"#include <errno.h>#include <random>#include <stdlib.h>#include <gtest/gtest.h>Classes | |
| class | TestWebServer |
| class | TestWebServerAuth |
| Web server requiring authentication, with the credentials held by the password manager rather than being part of the requested url. More... | |
| struct | AuthHelperCase |
| class | TestWebServerAuthHelper |
Macros | |
| #define | WEBSERVER_HOST "localhost" |
| #define | TEST_URL_JSONRPC "jsonrpc" |
| #define | TEST_FILES_DATA "test" |
| #define | TEST_FILES_DATA_RANGES "range1;range2;range3" |
| #define | TEST_FILES_HTML TEST_FILES_DATA ".html" |
| #define | TEST_FILES_RANGES TEST_FILES_DATA "-ranges.txt" |
Functions | |
| TEST_F (TestWebServer, IsStarted) | |
| TEST_F (TestWebServer, CanGetJsonRpcApiDescriptionWithHttpGet) | |
| TEST_F (TestWebServer, CanReadDataOverJsonRpcWithHttpGet) | |
| TEST_F (TestWebServer, CannotModifyOverJsonRpcWithHttpGet) | |
| TEST_F (TestWebServer, CanReadDataOverJsonRpcWithHttpPost) | |
| TEST_F (TestWebServer, CanModifyOverJsonRpcWithHttpPost) | |
| TEST_F (TestWebServer, CanNotHeadNonExistingFile) | |
| TEST_F (TestWebServer, CanHeadFile) | |
| TEST_F (TestWebServer, CanNotGetNonExistingFile) | |
| TEST_F (TestWebServer, CanGetFile) | |
| TEST_F (TestWebServer, CanGetFileForcingNoCache) | |
| TEST_F (TestWebServer, CanGetCachedFileWithOlderIfModifiedSince) | |
| TEST_F (TestWebServer, CanGetCachedFileWithExactIfModifiedSince) | |
| TEST_F (TestWebServer, CanGetCachedFileWithNewerIfModifiedSince) | |
| TEST_F (TestWebServer, CanGetCachedFileWithNewerIfModifiedSinceForcingNoCache) | |
| TEST_F (TestWebServer, CanGetCachedFileWithOlderIfUnmodifiedSince) | |
| TEST_F (TestWebServer, CanGetCachedFileWithExactIfUnmodifiedSince) | |
| TEST_F (TestWebServer, CanGetCachedFileWithNewerIfUnmodifiedSince) | |
| TEST_F (TestWebServer, CanGetRangedFileRange0_) | |
| TEST_F (TestWebServer, CanGetRangedFileRange0_End) | |
| TEST_F (TestWebServer, CanGetRangedFileRange0_2xEnd) | |
| TEST_F (TestWebServer, CanGetRangedFileRange0_First) | |
| TEST_F (TestWebServer, CanGetRangedFileRangeFirst_Second) | |
| TEST_F (TestWebServer, CanGetRangedFileRange_Last) | |
| TEST_F (TestWebServer, CanGetRangedFileRangeFirstSecond) | |
| TEST_F (TestWebServer, CanGetRangedFileRangeFirstSecondLast) | |
| TEST_F (TestWebServer, CanGetCachedRangedFileWithOlderIfRange) | |
| TEST_F (TestWebServer, CanGetCachedRangedFileWithExactIfRange) | |
| TEST_F (TestWebServer, CanGetCachedRangedFileWithNewerIfRange) | |
| bool | InvokeGetMimeType (const CURL &url) |
| bool | InvokeGetContentType (const CURL &url) |
| bool | InvokeGetHttpHeader (const CURL &url) |
| TEST_P (TestWebServerAuthHelper, AppliesStoredCredentials) | |
| INSTANTIATE_TEST_SUITE_P (Helpers, TestWebServerAuthHelper, testing::Values(AuthHelperCase{"GetMimeType_WithCredentials", InvokeGetMimeType, true}, AuthHelperCase{"GetMimeType_NoCredentials", InvokeGetMimeType, false}, AuthHelperCase{"GetContentType_WithCredentials", InvokeGetContentType, true}, AuthHelperCase{"GetContentType_NoCredentials", InvokeGetContentType, false}, AuthHelperCase{"GetHttpHeader_WithCredentials", InvokeGetHttpHeader, true}, AuthHelperCase{"GetHttpHeader_NoCredentials", InvokeGetHttpHeader, false}), [](const testing::TestParamInfo< AuthHelperCase > &info) { return info.param.name;}) | |
| TEST_F (TestWebServerAuth, GetMimeTypeReturnsTheCorrectType) | |
| TEST_F (TestWebServerAuth, GetContentTypeReturnsTheCorrectType) | |
| TEST_F (TestWebServerAuth, CanStatWithStoredCredentials) | |
| #define TEST_FILES_DATA "test" |
| #define TEST_FILES_DATA_RANGES "range1;range2;range3" |
| #define TEST_FILES_HTML TEST_FILES_DATA ".html" |
| #define TEST_FILES_RANGES TEST_FILES_DATA "-ranges.txt" |
| #define TEST_URL_JSONRPC "jsonrpc" |
| #define WEBSERVER_HOST "localhost" |
| INSTANTIATE_TEST_SUITE_P | ( | Helpers | , |
| TestWebServerAuthHelper | , | ||
| testing::Values(AuthHelperCase{"GetMimeType_WithCredentials", InvokeGetMimeType, true}, AuthHelperCase{"GetMimeType_NoCredentials", InvokeGetMimeType, false}, AuthHelperCase{"GetContentType_WithCredentials", InvokeGetContentType, true}, AuthHelperCase{"GetContentType_NoCredentials", InvokeGetContentType, false}, AuthHelperCase{"GetHttpHeader_WithCredentials", InvokeGetHttpHeader, true}, AuthHelperCase{"GetHttpHeader_NoCredentials", InvokeGetHttpHeader, false}) | , | ||
| [] (const testing::TestParamInfo< AuthHelperCase > &info) { return info.param.name;} | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithExactIfModifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithExactIfUnmodifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithNewerIfModifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithNewerIfModifiedSinceForcingNoCache | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithNewerIfUnmodifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithOlderIfModifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedFileWithOlderIfUnmodifiedSince | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedRangedFileWithExactIfRange | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedRangedFileWithNewerIfRange | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetCachedRangedFileWithOlderIfRange | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetFile | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetFileForcingNoCache | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetJsonRpcApiDescriptionWithHttpGet | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRange0_ | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRange0_2xEnd | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRange0_End | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRange0_First | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRange_Last | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRangeFirst_Second | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRangeFirstSecond | ) |
| TEST_F | ( | TestWebServer | , |
| CanGetRangedFileRangeFirstSecondLast | ) |
| TEST_F | ( | TestWebServer | , |
| CanHeadFile | ) |
| TEST_F | ( | TestWebServer | , |
| CanModifyOverJsonRpcWithHttpPost | ) |
| TEST_F | ( | TestWebServer | , |
| CanNotGetNonExistingFile | ) |
| TEST_F | ( | TestWebServer | , |
| CanNotHeadNonExistingFile | ) |
| TEST_F | ( | TestWebServer | , |
| CannotModifyOverJsonRpcWithHttpGet | ) |
| TEST_F | ( | TestWebServer | , |
| CanReadDataOverJsonRpcWithHttpGet | ) |
| TEST_F | ( | TestWebServer | , |
| CanReadDataOverJsonRpcWithHttpPost | ) |
| TEST_F | ( | TestWebServer | , |
| IsStarted | ) |
| TEST_F | ( | TestWebServerAuth | , |
| CanStatWithStoredCredentials | ) |
| TEST_F | ( | TestWebServerAuth | , |
| GetContentTypeReturnsTheCorrectType | ) |
| TEST_F | ( | TestWebServerAuth | , |
| GetMimeTypeReturnsTheCorrectType | ) |
| TEST_P | ( | TestWebServerAuthHelper | , |
| AppliesStoredCredentials | ) |