libcryfs/test/network/CurlHttpClientTest.cpp
Sebastian Messmer feb806b392 Add HttpClient
2015-11-24 07:47:29 +01:00

33 lines
986 B
C++

#include <google/gtest/gtest.h>
#include <google/gmock/gmock.h>
#include "../../network/CurlHttpClient.h"
#include "../../pointer/unique_ref_boost_optional_gtest_workaround.h"
using std::string;
using boost::none;
using testing::MatchesRegex;
using namespace cpputils;
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.*"));
}