| 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");
|
|
|