| 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 a9582d6e7eef4ebdbd6f6f3369dd8e4a59a84cc5..d4d07024a49eb681fe494819793894ca7e38a871 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;
|
| @@ -38,19 +41,35 @@ class MockObserver : public DialService::Observer {
|
| class DialServiceTest : public testing::Test {
|
| public:
|
| DialServiceTest() {
|
| + DCHECK(net::ParseIPLiteralToNumber("127.0.0.1", &localhost_ip_));
|
| dial_service_ = new DialServiceImpl(&capturing_net_log_);
|
| dial_service_->AddObserver(&mock_observer_);
|
| }
|
| protected:
|
| net::CapturingNetLog capturing_net_log_;
|
| + net::IPAddressNumber localhost_ip_;
|
| scoped_refptr<DialServiceImpl> dial_service_;
|
| MockObserver mock_observer_;
|
| };
|
|
|
| +TEST_F(DialServiceTest, TestSendMultipleRequests) {
|
| + MessageLoop loop(MessageLoop::TYPE_IO);
|
| + // Setting these intervals to zero disables the timers.
|
| + 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(localhost_ip_);
|
| + 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 +79,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(localhost_ip_, 12345);
|
|
|
| DialDeviceData expected_device;
|
| expected_device.set_device_id("some_id");
|
|
|