summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2015-10-16 16:14:55 +0200
committerKonstantin Käfer <mail@kkaefer.com>2015-10-26 15:54:27 +0100
commit5173bf1bb8d21054b0dd6251d23eb37323d6c525 (patch)
treed13536c22b8279e9fd7e8f4892596c42973170f3 /test
parent4e3503ea6cf30c55a2cc86f78c4a607bd14f1c41 (diff)
downloadqtlocation-mapboxgl-5173bf1bb8d21054b0dd6251d23eb37323d6c525.tar.gz
[core] Make response data shared to avoid excessive copying
Diffstat (limited to 'test')
-rw-r--r--test/fixtures/mock_file_source.cpp7
-rw-r--r--test/storage/cache_response.cpp6
-rw-r--r--test/storage/cache_revalidate.cpp47
-rw-r--r--test/storage/database.cpp24
-rw-r--r--test/storage/directory_reading.cpp2
-rw-r--r--test/storage/file_reading.cpp11
-rw-r--r--test/storage/http_cancel.cpp3
-rw-r--r--test/storage/http_coalescing.cpp15
-rw-r--r--test/storage/http_error.cpp5
-rw-r--r--test/storage/http_header_parsing.cpp6
-rw-r--r--test/storage/http_issue_1369.cpp3
-rw-r--r--test/storage/http_load.cpp3
-rw-r--r--test/storage/http_other_loop.cpp3
-rw-r--r--test/storage/http_reading.cpp7
-rw-r--r--test/storage/http_timeout.cpp3
-rwxr-xr-xtest/storage/server.js2
16 files changed, 80 insertions, 67 deletions
diff --git a/test/fixtures/mock_file_source.cpp b/test/fixtures/mock_file_source.cpp
index b420ba7298..407f54408f 100644
--- a/test/fixtures/mock_file_source.cpp
+++ b/test/fixtures/mock_file_source.cpp
@@ -55,7 +55,7 @@ void MockFileSource::Impl::replyWithSuccess(Request* req) const {
res->status = Response::Status::Successful;
try {
- res->data = util::read_file(req->resource.url);
+ res->data = std::make_shared<const std::string>(std::move(util::read_file(req->resource.url)));
} catch (const std::exception& err) {
res->status = Response::Status::Error;
res->message = err.what();
@@ -95,8 +95,9 @@ void MockFileSource::Impl::replyWithCorruptedData(Request* req) const {
std::shared_ptr<Response> res = std::make_shared<Response>();
res->status = Response::Status::Successful;
- res->data = util::read_file(req->resource.url);
- res->data.insert(0, "CORRUPTED");
+ auto data = std::make_shared<std::string>(std::move(util::read_file(req->resource.url)));
+ data->insert(0, "CORRUPTED");
+ res->data = std::move(data);
req->notify(res);
}
diff --git a/test/storage/cache_response.cpp b/test/storage/cache_response.cpp
index 1294513858..5b0923900e 100644
--- a/test/storage/cache_response.cpp
+++ b/test/storage/cache_response.cpp
@@ -20,7 +20,8 @@ TEST_F(Storage, CacheResponse) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response 1", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Response 1", *res.data);
EXPECT_LT(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
@@ -36,7 +37,8 @@ TEST_F(Storage, CacheResponse) {
fs.cancel(req);
EXPECT_EQ(response.status, res.status);
EXPECT_EQ(response.stale, res.stale);
- EXPECT_EQ(response.data, res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ(*response.data, *res.data);
EXPECT_EQ(response.expires, res.expires);
EXPECT_EQ(response.modified, res.modified);
EXPECT_EQ(response.etag, res.etag);
diff --git a/test/storage/cache_revalidate.cpp b/test/storage/cache_revalidate.cpp
index 90633b83ac..d7dcbe71cd 100644
--- a/test/storage/cache_revalidate.cpp
+++ b/test/storage/cache_revalidate.cpp
@@ -13,8 +13,6 @@ TEST_F(Storage, CacheRevalidateSame) {
SQLiteCache cache(":memory:");
DefaultFileSource fs(&cache);
- const Response *reference = nullptr;
-
const Resource revalidateSame { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
Request* req1 = nullptr;
Request* req2 = nullptr;
@@ -27,21 +25,16 @@ TEST_F(Storage, CacheRevalidateSame) {
}
first = false;
- EXPECT_EQ(nullptr, reference);
- reference = &res;
-
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Response", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("snowfall", res.etag);
EXPECT_EQ("", res.message);
req2 = fs.request(revalidateSame, uv_default_loop(), [&, res](const Response &res2) {
- // Make sure we get a different object than before, since this request should've been revalidated.
- EXPECT_TRUE(reference != &res2);
-
if (res2.stale) {
// Discard stale responses, if any.
return;
@@ -57,7 +50,9 @@ TEST_F(Storage, CacheRevalidateSame) {
EXPECT_EQ(Response::Successful, res2.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response", res2.data);
+ ASSERT_TRUE(res2.data.get());
+ EXPECT_EQ(res.data, res2.data);
+ EXPECT_EQ("Response", *res2.data);
// We use this to indicate that a 304 reply came back.
EXPECT_LT(0, res2.expires);
EXPECT_EQ(0, res2.modified);
@@ -80,8 +75,6 @@ TEST_F(Storage, CacheRevalidateModified) {
SQLiteCache cache(":memory:");
DefaultFileSource fs(&cache);
- const Response *reference = nullptr;
-
const Resource revalidateModified{ Resource::Unknown,
"http://127.0.0.1:3000/revalidate-modified" };
Request* req1 = nullptr;
@@ -95,21 +88,16 @@ TEST_F(Storage, CacheRevalidateModified) {
}
first = false;
- EXPECT_EQ(nullptr, reference);
- reference = &res;
-
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Response", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(1420070400, res.modified);
EXPECT_EQ("", res.etag);
EXPECT_EQ("", res.message);
req2 = fs.request(revalidateModified, uv_default_loop(), [&, res](const Response &res2) {
- // Make sure we get a different object than before, since this request should've been revalidated.
- EXPECT_TRUE(reference != &res2);
-
if (res2.stale) {
// Discard stale responses, if any.
return;
@@ -124,8 +112,10 @@ TEST_F(Storage, CacheRevalidateModified) {
req2 = nullptr;
EXPECT_EQ(Response::Successful, res2.status);
- EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response", res2.data);
+ EXPECT_EQ(false, res2.stale);
+ ASSERT_TRUE(res2.data.get());
+ EXPECT_EQ("Response", *res2.data);
+ EXPECT_EQ(res.data, res2.data);
// We use this to indicate that a 304 reply came back.
EXPECT_LT(0, res2.expires);
EXPECT_EQ(1420070400, res2.modified);
@@ -147,8 +137,6 @@ TEST_F(Storage, CacheRevalidateEtag) {
SQLiteCache cache(":memory:");
DefaultFileSource fs(&cache);
- const Response *reference = nullptr;
-
const Resource revalidateEtag { Resource::Unknown, "http://127.0.0.1:3000/revalidate-etag" };
Request* req1 = nullptr;
Request* req2 = nullptr;
@@ -161,21 +149,16 @@ TEST_F(Storage, CacheRevalidateEtag) {
}
first = false;
- EXPECT_EQ(nullptr, reference);
- reference = &res;
-
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response 1", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Response 1", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("response-1", res.etag);
EXPECT_EQ("", res.message);
req2 = fs.request(revalidateEtag, uv_default_loop(), [&, res](const Response &res2) {
- // Make sure we get a different object than before, since this request should've been revalidated.
- EXPECT_TRUE(reference != &res2);
-
if (res2.stale) {
// Discard stale responses, if any.
return;
@@ -191,7 +174,9 @@ TEST_F(Storage, CacheRevalidateEtag) {
EXPECT_EQ(Response::Successful, res2.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Response 2", res2.data);
+ ASSERT_TRUE(res2.data.get());
+ EXPECT_NE(res.data, res2.data);
+ EXPECT_EQ("Response 2", *res2.data);
EXPECT_EQ(0, res2.expires);
EXPECT_EQ(0, res2.modified);
EXPECT_EQ("response-2", res2.etag);
diff --git a/test/storage/database.cpp b/test/storage/database.cpp
index 20f96305b1..dd186f2a3f 100644
--- a/test/storage/database.cpp
+++ b/test/storage/database.cpp
@@ -178,11 +178,12 @@ TEST_F(Storage, DatabaseLockedWrite) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.put({ Resource::Unknown, "mapbox://test" }, response);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
ASSERT_NE(nullptr, res.get());
- EXPECT_EQ("Demo", res->data);
+ ASSERT_TRUE(res->data.get());
+ EXPECT_EQ("Demo", *res->data);
});
// Make sure that we got a no errors
@@ -210,7 +211,7 @@ TEST_F(Storage, DatabaseLockedRefresh) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.put({ Resource::Unknown, "mapbox://test" }, response);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
@@ -226,7 +227,7 @@ TEST_F(Storage, DatabaseLockedRefresh) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.refresh({ Resource::Unknown, "mapbox://test" }, response->expires);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
EXPECT_EQ(nullptr, res.get());
@@ -255,11 +256,12 @@ TEST_F(Storage, DatabaseDeleted) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.put({ Resource::Unknown, "mapbox://test" }, response);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
ASSERT_NE(nullptr, res.get());
- EXPECT_EQ("Demo", res->data);
+ ASSERT_TRUE(res->data.get());
+ EXPECT_EQ("Demo", *res->data);
});
Log::removeObserver();
@@ -272,11 +274,12 @@ TEST_F(Storage, DatabaseDeleted) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.put({ Resource::Unknown, "mapbox://test" }, response);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
ASSERT_NE(nullptr, res.get());
- EXPECT_EQ("Demo", res->data);
+ ASSERT_TRUE(res->data.get());
+ EXPECT_EQ("Demo", *res->data);
});
auto observer = Log::removeObserver();
@@ -302,11 +305,12 @@ TEST_F(Storage, DatabaseInvalid) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
auto response = std::make_shared<Response>();
- response->data = "Demo";
+ response->data = std::make_shared<std::string>("Demo");
cache.put({ Resource::Unknown, "mapbox://test" }, response);
cache.get({ Resource::Unknown, "mapbox://test" }, [] (std::unique_ptr<Response> res) {
ASSERT_NE(nullptr, res.get());
- EXPECT_EQ("Demo", res->data);
+ ASSERT_TRUE(res->data.get());
+ EXPECT_EQ("Demo", *res->data);
});
auto observer = Log::removeObserver();
diff --git a/test/storage/directory_reading.cpp b/test/storage/directory_reading.cpp
index f0bc7ea6d2..f101252761 100644
--- a/test/storage/directory_reading.cpp
+++ b/test/storage/directory_reading.cpp
@@ -20,7 +20,7 @@ TEST_F(Storage, AssetReadDirectory) {
fs.cancel(req);
EXPECT_EQ(Response::Error, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ(0ul, res.data.size());
+ ASSERT_FALSE(res.data.get());
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/file_reading.cpp b/test/storage/file_reading.cpp
index 434af703f2..ab7ba326ad 100644
--- a/test/storage/file_reading.cpp
+++ b/test/storage/file_reading.cpp
@@ -21,7 +21,8 @@ TEST_F(Storage, AssetEmptyFile) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ(0ul, res.data.size());
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_LT(1420000000, res.modified);
EXPECT_NE("", res.etag);
@@ -48,12 +49,14 @@ TEST_F(Storage, AssetNonEmptyFile) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ(16ul, res.data.size());
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("content is here\n", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_LT(1420000000, res.modified);
EXPECT_NE("", res.etag);
EXPECT_EQ("", res.message);
- EXPECT_EQ("content is here\n", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("content is here\n", *res.data);
NonEmptyFile.finish();
});
@@ -76,7 +79,7 @@ TEST_F(Storage, AssetNonExistentFile) {
fs.cancel(req);
EXPECT_EQ(Response::Error, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ(0ul, res.data.size());
+ ASSERT_FALSE(res.data.get());
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_cancel.cpp b/test/storage/http_cancel.cpp
index 5743ccb8f7..7dfe9c58d5 100644
--- a/test/storage/http_cancel.cpp
+++ b/test/storage/http_cancel.cpp
@@ -40,7 +40,8 @@ TEST_F(Storage, HTTPCancelMultiple) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_coalescing.cpp b/test/storage/http_coalescing.cpp
index 8558362034..2748fb8757 100644
--- a/test/storage/http_coalescing.cpp
+++ b/test/storage/http_coalescing.cpp
@@ -27,7 +27,8 @@ TEST_F(Storage, HTTPCoalescing) {
}
EXPECT_EQ(Response::Successful, res.status);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
@@ -69,7 +70,8 @@ TEST_F(Storage, HTTPMultiple) {
// Do not cancel the request right away.
EXPECT_EQ(Response::Successful, res.status);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(2147483647, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
@@ -85,7 +87,8 @@ TEST_F(Storage, HTTPMultiple) {
fs.cancel(req2);
EXPECT_EQ(Response::Successful, res2.status);
- EXPECT_EQ("Hello World!", res2.data);
+ ASSERT_TRUE(res2.data.get());
+ EXPECT_EQ("Hello World!", *res2.data);
EXPECT_EQ(2147483647, res2.expires);
EXPECT_EQ(0, res2.modified);
EXPECT_EQ("", res2.etag);
@@ -115,7 +118,8 @@ TEST_F(Storage, HTTPStale) {
req1 = fs.request(resource, uv_default_loop(), [&] (const Response &res) {
// Do not cancel the request right away.
EXPECT_EQ(Response::Successful, res.status);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(false, res.stale);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
@@ -132,7 +136,8 @@ TEST_F(Storage, HTTPStale) {
// Start a second request for the same resource after the first one has been completed.
req2 = fs.request(resource, uv_default_loop(), [&] (const Response &res2) {
EXPECT_EQ(Response::Successful, res2.status);
- EXPECT_EQ("Hello World!", res2.data);
+ ASSERT_TRUE(res2.data.get());
+ EXPECT_EQ("Hello World!", *res2.data);
EXPECT_EQ(0, res2.expires);
EXPECT_EQ(0, res2.modified);
EXPECT_EQ("", res2.etag);
diff --git a/test/storage/http_error.cpp b/test/storage/http_error.cpp
index 50b46a41b8..d0eefb408c 100644
--- a/test/storage/http_error.cpp
+++ b/test/storage/http_error.cpp
@@ -38,7 +38,8 @@ TEST_F(Storage, HTTPError) {
EXPECT_GT(1.2, duration) << "Backoff timer fired too late";
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
@@ -67,7 +68,7 @@ TEST_F(Storage, HTTPError) {
#else
FAIL();
#endif
- EXPECT_EQ("", res.data);
+ ASSERT_FALSE(res.data.get());
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_header_parsing.cpp b/test/storage/http_header_parsing.cpp
index 93fdcb6231..17c3ce16cf 100644
--- a/test/storage/http_header_parsing.cpp
+++ b/test/storage/http_header_parsing.cpp
@@ -21,7 +21,8 @@ TEST_F(Storage, HTTPHeaderParsing) {
fs.cancel(req1);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(1420797926, res.expires);
EXPECT_EQ(1420794326, res.modified);
EXPECT_EQ("foo", res.etag);
@@ -37,7 +38,8 @@ TEST_F(Storage, HTTPHeaderParsing) {
fs.cancel(req2);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_GT(2, std::abs(res.expires - now - 120)) << "Expiration date isn't about 120 seconds in the future";
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_issue_1369.cpp b/test/storage/http_issue_1369.cpp
index ba4e3d3885..c5135b3ab9 100644
--- a/test/storage/http_issue_1369.cpp
+++ b/test/storage/http_issue_1369.cpp
@@ -34,7 +34,8 @@ TEST_F(Storage, HTTPIssue1369) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_load.cpp b/test/storage/http_load.cpp
index 092bf2db5a..987e463507 100644
--- a/test/storage/http_load.cpp
+++ b/test/storage/http_load.cpp
@@ -26,7 +26,8 @@ TEST_F(Storage, HTTPLoad) {
reqs[i] = nullptr;
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ(std::string("Request ") + std::to_string(current), res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ(std::string("Request ") + std::to_string(current), *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_other_loop.cpp b/test/storage/http_other_loop.cpp
index cd9fad95be..f6e805285f 100644
--- a/test/storage/http_other_loop.cpp
+++ b/test/storage/http_other_loop.cpp
@@ -17,7 +17,8 @@ TEST_F(Storage, HTTPOtherLoop) {
fs.cancel(req);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/http_reading.cpp b/test/storage/http_reading.cpp
index c5e89b88e8..468ba33248 100644
--- a/test/storage/http_reading.cpp
+++ b/test/storage/http_reading.cpp
@@ -24,7 +24,8 @@ TEST_F(Storage, HTTPReading) {
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
@@ -38,6 +39,8 @@ TEST_F(Storage, HTTPReading) {
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(Response::NotFound, res.status);
EXPECT_EQ(false, res.stale);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Cannot GET /doesnotexist\n", *res.data);
EXPECT_EQ("", res.message);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
@@ -51,6 +54,8 @@ TEST_F(Storage, HTTPReading) {
EXPECT_EQ(uv_thread_self(), mainThread);
EXPECT_EQ(Response::Error, res.status);
EXPECT_EQ(false, res.stale);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Server Error!", *res.data);
EXPECT_EQ("HTTP status code 500", res.message);
EXPECT_EQ(0, res.expires);
EXPECT_EQ(0, res.modified);
diff --git a/test/storage/http_timeout.cpp b/test/storage/http_timeout.cpp
index 71553677bd..b5cd877e76 100644
--- a/test/storage/http_timeout.cpp
+++ b/test/storage/http_timeout.cpp
@@ -20,7 +20,8 @@ TEST_F(Storage, HTTPTimeout) {
counter++;
EXPECT_EQ(Response::Successful, res.status);
EXPECT_EQ(false, res.stale);
- EXPECT_EQ("Hello World!", res.data);
+ ASSERT_TRUE(res.data.get());
+ EXPECT_EQ("Hello World!", *res.data);
EXPECT_LT(0, res.expires);
EXPECT_EQ(0, res.modified);
EXPECT_EQ("", res.etag);
diff --git a/test/storage/server.js b/test/storage/server.js
index 342a61cdc1..efc1e1d6c0 100755
--- a/test/storage/server.js
+++ b/test/storage/server.js
@@ -74,7 +74,7 @@ app.get('/revalidate-etag', function(req, res) {
});
app.get('/permanent-error', function(req, res) {
- res.status(500).end();
+ res.status(500).send('Server Error!');
});
var temporaryErrorCounter = 0;