Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(151)

Unified Diff: webrtc/base/asynchttprequest_unittest.cc

Issue 1311353011: Remove AsyncHttpRequest, AutoPortAllocator, ConnectivityChecker, and HttpPortAllocator (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: undo chromium change Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/base/asynchttprequest.cc ('k') | webrtc/base/base.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/base/asynchttprequest_unittest.cc
diff --git a/webrtc/base/asynchttprequest_unittest.cc b/webrtc/base/asynchttprequest_unittest.cc
deleted file mode 100644
index ddfad90143874d3cb11c391ffa244d9e4547d28b..0000000000000000000000000000000000000000
--- a/webrtc/base/asynchttprequest_unittest.cc
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright 2004 The WebRTC Project Authors. All rights reserved.
- *
- * Use of this source code is governed by a BSD-style license
- * that can be found in the LICENSE file in the root of the source
- * tree. An additional intellectual property rights grant can be found
- * in the file PATENTS. All contributing project authors may
- * be found in the AUTHORS file in the root of the source tree.
- */
-
-#include <string>
-#include "webrtc/base/asynchttprequest.h"
-#include "webrtc/base/gunit.h"
-#include "webrtc/base/httpserver.h"
-#include "webrtc/base/socketstream.h"
-#include "webrtc/base/thread.h"
-#include "webrtc/test/testsupport/gtest_disable.h"
-
-namespace rtc {
-
-static const SocketAddress kServerAddr("127.0.0.1", 0);
-static const SocketAddress kServerHostnameAddr("localhost", 0);
-static const char kServerGetPath[] = "/get";
-static const char kServerPostPath[] = "/post";
-static const char kServerResponse[] = "This is a test";
-
-class TestHttpServer : public HttpServer, public sigslot::has_slots<> {
- public:
- TestHttpServer(Thread* thread, const SocketAddress& addr) :
- socket_(thread->socketserver()->CreateAsyncSocket(addr.family(),
- SOCK_STREAM)) {
- socket_->Bind(addr);
- socket_->Listen(5);
- socket_->SignalReadEvent.connect(this, &TestHttpServer::OnAccept);
- }
-
- SocketAddress address() const { return socket_->GetLocalAddress(); }
- void Close() const { socket_->Close(); }
-
- private:
- void OnAccept(AsyncSocket* socket) {
- AsyncSocket* new_socket = socket_->Accept(NULL);
- if (new_socket) {
- HandleConnection(new SocketStream(new_socket));
- }
- }
- rtc::scoped_ptr<AsyncSocket> socket_;
-};
-
-class AsyncHttpRequestTest : public testing::Test,
- public sigslot::has_slots<> {
- public:
- AsyncHttpRequestTest()
- : started_(false),
- done_(false),
- server_(Thread::Current(), kServerAddr) {
- server_.SignalHttpRequest.connect(this, &AsyncHttpRequestTest::OnRequest);
- }
-
- bool started() const { return started_; }
- bool done() const { return done_; }
-
- AsyncHttpRequest* CreateGetRequest(const std::string& host, int port,
- const std::string& path) {
- rtc::AsyncHttpRequest* request =
- new rtc::AsyncHttpRequest("unittest");
- request->SignalWorkDone.connect(this,
- &AsyncHttpRequestTest::OnRequestDone);
- request->request().verb = rtc::HV_GET;
- request->set_host(host);
- request->set_port(port);
- request->request().path = path;
- request->response().document.reset(new MemoryStream());
- return request;
- }
- AsyncHttpRequest* CreatePostRequest(const std::string& host, int port,
- const std::string& path,
- const std::string content_type,
- StreamInterface* content) {
- rtc::AsyncHttpRequest* request =
- new rtc::AsyncHttpRequest("unittest");
- request->SignalWorkDone.connect(this,
- &AsyncHttpRequestTest::OnRequestDone);
- request->request().verb = rtc::HV_POST;
- request->set_host(host);
- request->set_port(port);
- request->request().path = path;
- request->request().setContent(content_type, content);
- request->response().document.reset(new MemoryStream());
- return request;
- }
-
- const TestHttpServer& server() const { return server_; }
-
- protected:
- void OnRequest(HttpServer* server, HttpServerTransaction* t) {
- started_ = true;
-
- if (t->request.path == kServerGetPath) {
- t->response.set_success("text/plain", new MemoryStream(kServerResponse));
- } else if (t->request.path == kServerPostPath) {
- // reverse the data and reply
- size_t size;
- StreamInterface* in = t->request.document.get();
- StreamInterface* out = new MemoryStream();
- in->GetSize(&size);
- for (size_t i = 0; i < size; ++i) {
- char ch;
- in->SetPosition(size - i - 1);
- in->Read(&ch, 1, NULL, NULL);
- out->Write(&ch, 1, NULL, NULL);
- }
- out->Rewind();
- t->response.set_success("text/plain", out);
- } else {
- t->response.set_error(404);
- }
- server_.Respond(t);
- }
- void OnRequestDone(SignalThread* thread) {
- done_ = true;
- }
-
- private:
- bool started_;
- bool done_;
- TestHttpServer server_;
-};
-
-TEST_F(AsyncHttpRequestTest, TestGetSuccess) {
- AsyncHttpRequest* req = CreateGetRequest(
- kServerHostnameAddr.hostname(), server().address().port(),
- kServerGetPath);
- EXPECT_FALSE(started());
- req->Start();
- EXPECT_TRUE_WAIT(started(), 5000); // Should have started by now.
- EXPECT_TRUE_WAIT(done(), 5000);
- std::string response;
- EXPECT_EQ(200U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->Rewind();
- req->response().document->ReadLine(&response);
- EXPECT_EQ(kServerResponse, response);
- req->Release();
-}
-
-TEST_F(AsyncHttpRequestTest, TestGetNotFound) {
- AsyncHttpRequest* req = CreateGetRequest(
- kServerHostnameAddr.hostname(), server().address().port(),
- "/bad");
- req->Start();
- EXPECT_TRUE_WAIT(done(), 5000);
- size_t size;
- EXPECT_EQ(404U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->GetSize(&size);
- EXPECT_EQ(0U, size);
- req->Release();
-}
-
-TEST_F(AsyncHttpRequestTest, TestGetToNonServer) {
- AsyncHttpRequest* req = CreateGetRequest(
- "127.0.0.1", server().address().port(),
- kServerGetPath);
- // Stop the server before we send the request.
- server().Close();
- req->Start();
- EXPECT_TRUE_WAIT(done(), 10000);
- size_t size;
- EXPECT_EQ(500U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->GetSize(&size);
- EXPECT_EQ(0U, size);
- req->Release();
-}
-
-TEST_F(AsyncHttpRequestTest, DISABLED_TestGetToInvalidHostname) {
- AsyncHttpRequest* req = CreateGetRequest(
- "invalid", server().address().port(),
- kServerGetPath);
- req->Start();
- EXPECT_TRUE_WAIT(done(), 5000);
- size_t size;
- EXPECT_EQ(500U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->GetSize(&size);
- EXPECT_EQ(0U, size);
- req->Release();
-}
-
-TEST_F(AsyncHttpRequestTest, TestPostSuccess) {
- AsyncHttpRequest* req = CreatePostRequest(
- kServerHostnameAddr.hostname(), server().address().port(),
- kServerPostPath, "text/plain", new MemoryStream("abcd1234"));
- req->Start();
- EXPECT_TRUE_WAIT(done(), 5000);
- std::string response;
- EXPECT_EQ(200U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->Rewind();
- req->response().document->ReadLine(&response);
- EXPECT_EQ("4321dcba", response);
- req->Release();
-}
-
-// Ensure that we shut down properly even if work is outstanding.
-TEST_F(AsyncHttpRequestTest, TestCancel) {
- AsyncHttpRequest* req = CreateGetRequest(
- kServerHostnameAddr.hostname(), server().address().port(),
- kServerGetPath);
- req->Start();
- req->Destroy(true);
-}
-
-TEST_F(AsyncHttpRequestTest, TestGetSuccessDelay) {
- AsyncHttpRequest* req = CreateGetRequest(
- kServerHostnameAddr.hostname(), server().address().port(),
- kServerGetPath);
- req->set_start_delay(10); // Delay 10ms.
- req->Start();
- Thread::SleepMs(5);
- EXPECT_FALSE(started()); // Should not have started immediately.
- EXPECT_TRUE_WAIT(started(), 5000); // Should have started by now.
- EXPECT_TRUE_WAIT(done(), 5000);
- std::string response;
- EXPECT_EQ(200U, req->response().scode);
- ASSERT_TRUE(req->response().document);
- req->response().document->Rewind();
- req->response().document->ReadLine(&response);
- EXPECT_EQ(kServerResponse, response);
- req->Release();
-}
-
-} // namespace rtc
« no previous file with comments | « webrtc/base/asynchttprequest.cc ('k') | webrtc/base/base.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698