libcryfs/test/cpp-utils/network/CurlHttpClientTest.cpp
Sebastian Messmer cc7b38b3c1 - run-clang-tidy.sh also runs on test cases.
- fix clang-tidy warnings in test cases
2017-12-01 15:01:49 +00:00

39 lines
1.2 KiB
C++

#include <gtest/gtest.h>
#include <gmock/gmock.h>
#include "cpp-utils/network/CurlHttpClient.h"
#include "cpp-utils/pointer/unique_ref_boost_optional_gtest_workaround.h"
using std::string;
using namespace cpputils;
// Disable these by default because they depend on network
// and - even if network is available - can fail depending
// on the concrete network setup (e.g. if invalid domains are
// answered with an ISP page instead of HTTP error)
#ifdef CRYFS_ENABLE_NETWORK_TESTS
TEST(CurlHttpClientTest, InvalidProtocol) {
EXPECT_EQ(none, CurlHttpClient().get("invalid://example.com"));
}
TEST(CurlHttpClientTest, InvalidTld) {
EXPECT_EQ(none, CurlHttpClient().get("http://example.invalidtld"));
}
TEST(CurlHttpClientTest, InvalidDomain) {
EXPECT_EQ(none, CurlHttpClient().get("http://this_is_a_not_existing_domain.com"));
}
TEST(CurlHttpClientTest, ValidHttp) {
string content = CurlHttpClient().get("http://example.com").value();
EXPECT_THAT(content, MatchesRegex(".*Example Domain.*"));
}
TEST(CurlHttpClientTest, ValidHttps) {
string content = CurlHttpClient().get("https://example.com").value();
EXPECT_THAT(content, MatchesRegex(".*Example Domain.*"));
}
#endif