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

Unified Diff: chrome/browser/extensions/api/dial/dial_service_unittest.cc

Issue 12150002: - Invoke FinishDiscovery() if no network interfaces are detected. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Merge with r181795 Created 7 years, 10 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 | « chrome/browser/extensions/api/dial/dial_service.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/extensions/api/dial/dial_service_unittest.cc
diff --git a/chrome/browser/extensions/api/dial/dial_service_unittest.cc b/chrome/browser/extensions/api/dial/dial_service_unittest.cc
index edc44ba256c246562e1b17dee42dcebce78e7d04..da1cc7b53e03db24a08923deefc191757b7d6d20 100644
--- a/chrome/browser/extensions/api/dial/dial_service_unittest.cc
+++ b/chrome/browser/extensions/api/dial/dial_service_unittest.cc
@@ -3,13 +3,16 @@
// found in the LICENSE file.
#include "base/memory/ref_counted.h"
+#include "base/message_loop.h"
#include "chrome/browser/extensions/api/dial/dial_device_data.h"
#include "chrome/browser/extensions/api/dial/dial_service.h"
#include "net/base/capturing_net_log.h"
+#include "net/base/ip_endpoint.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
using base::Time;
+using base::TimeDelta;
using ::testing::A;
using ::testing::AtLeast;
using ::testing::Return;
@@ -39,18 +42,36 @@ class MockObserver : public DialService::Observer {
class DialServiceTest : public testing::Test {
public:
DialServiceTest() : dial_service_(&capturing_net_log_) {
+ CHECK(net::ParseIPLiteralToNumber("0.0.0.0", &mock_ip_));
dial_service_.AddObserver(&mock_observer_);
}
protected:
net::CapturingNetLog capturing_net_log_;
+ net::IPAddressNumber mock_ip_;
DialServiceImpl dial_service_;
MockObserver mock_observer_;
};
+TEST_F(DialServiceTest, TestSendMultipleRequests) {
+ MessageLoop loop(MessageLoop::TYPE_IO);
+ // Setting the finish delay to zero disables the timer that invokes
+ // FinishDiscovery().
+ dial_service_.finish_delay_ = TimeDelta::FromSeconds(0);
+ dial_service_.request_interval_ = TimeDelta::FromSeconds(0);
+ dial_service_.max_requests_ = 4;
+ dial_service_.discovery_active_ = true;
+ EXPECT_CALL(mock_observer_, OnDiscoveryRequest(A<DialService*>())).Times(4);
+ EXPECT_CALL(mock_observer_, OnDiscoveryFinished(A<DialService*>())).Times(1);
+ dial_service_.BindSocketAndSendRequest(mock_ip_);
+ loop.RunUntilIdle();
+ dial_service_.FinishDiscovery();
+}
+
TEST_F(DialServiceTest, TestOnDiscoveryRequest) {
dial_service_.discovery_active_ = true;
+ dial_service_.num_requests_sent_ = 1;
+ dial_service_.max_requests_ = 1;
size_t num_bytes = dial_service_.send_buffer_->size();
-
EXPECT_CALL(mock_observer_, OnDiscoveryRequest(A<DialService*>())).Times(1);
dial_service_.OnSocketWrite(num_bytes);
}
@@ -60,6 +81,7 @@ TEST_F(DialServiceTest, TestOnDeviceDiscovered) {
int response_size = arraysize(kValidResponse) - 1;
dial_service_.recv_buffer_ = new net::IOBufferWithSize(response_size);
strncpy(dial_service_.recv_buffer_->data(), kValidResponse, response_size);
+ dial_service_.recv_address_ = net::IPEndPoint(mock_ip_, 12345);
DialDeviceData expected_device;
expected_device.set_device_id("some_id");
« no previous file with comments | « chrome/browser/extensions/api/dial/dial_service.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698