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

Side by Side Diff: chromeos/components/tether/host_scanner_operation_unittest.cc

Issue 2945643002: [CrOS Tether] Sort Tether network lists. (Closed)
Patch Set: stevenjb@ comments. Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/components/tether/host_scanner_operation.h" 5 #include "chromeos/components/tether/host_scanner_operation.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "chromeos/components/tether/ble_constants.h" 12 #include "chromeos/components/tether/ble_constants.h"
13 #include "chromeos/components/tether/fake_ble_connection_manager.h" 13 #include "chromeos/components/tether/fake_ble_connection_manager.h"
14 #include "chromeos/components/tether/host_scan_device_prioritizer.h"
14 #include "chromeos/components/tether/message_wrapper.h" 15 #include "chromeos/components/tether/message_wrapper.h"
15 #include "chromeos/components/tether/mock_host_scan_device_prioritizer.h"
16 #include "chromeos/components/tether/mock_tether_host_response_recorder.h" 16 #include "chromeos/components/tether/mock_tether_host_response_recorder.h"
17 #include "chromeos/components/tether/proto/tether.pb.h" 17 #include "chromeos/components/tether/proto/tether.pb.h"
18 #include "chromeos/components/tether/proto_test_util.h" 18 #include "chromeos/components/tether/proto_test_util.h"
19 #include "components/cryptauth/remote_device_test_util.h" 19 #include "components/cryptauth/remote_device_test_util.h"
20 #include "testing/gtest/include/gtest/gtest.h" 20 #include "testing/gtest/include/gtest/gtest.h"
21 21
22 using testing::_; 22 using testing::_;
23 using testing::StrictMock; 23 using testing::StrictMock;
24 24
25 namespace chromeos { 25 namespace chromeos {
26 26
27 namespace tether { 27 namespace tether {
28 28
29 namespace { 29 namespace {
30 30
31 const char kDefaultCarrier[] = "Google Fi"; 31 const char kDefaultCarrier[] = "Google Fi";
32 32
33 class TestHostScanDevicePrioritizer : public MockHostScanDevicePrioritizer { 33 class TestHostScanDevicePrioritizer : public HostScanDevicePrioritizer {
34 public: 34 public:
35 TestHostScanDevicePrioritizer() : MockHostScanDevicePrioritizer() {} 35 TestHostScanDevicePrioritizer() : HostScanDevicePrioritizer() {}
36 ~TestHostScanDevicePrioritizer() override {} 36 ~TestHostScanDevicePrioritizer() override {}
37 37
38 // Simply reverses the device order. 38 // HostScanDevicePrioritizer:
39 void SortByHostScanOrder( 39 void SortByHostScanOrder(
40 std::vector<cryptauth::RemoteDevice>* remote_devices) const override { 40 std::vector<cryptauth::RemoteDevice>* remote_devices) const override {
41 // Simply reverses the device order.
41 for (size_t i = 0; i < remote_devices->size() / 2; ++i) { 42 for (size_t i = 0; i < remote_devices->size() / 2; ++i) {
42 std::iter_swap(remote_devices->begin() + i, 43 std::iter_swap(remote_devices->begin() + i,
43 remote_devices->end() - i - 1); 44 remote_devices->end() - i - 1);
44 } 45 }
45 } 46 }
46 47
47 void VerifyHasBeenPrioritized( 48 void VerifyHasBeenPrioritized(
48 const std::vector<cryptauth::RemoteDevice>& original, 49 const std::vector<cryptauth::RemoteDevice>& original,
49 const std::vector<cryptauth::RemoteDevice>& prioritized) { 50 const std::vector<cryptauth::RemoteDevice>& prioritized) {
50 std::vector<cryptauth::RemoteDevice> copy_of_original = original; 51 std::vector<cryptauth::RemoteDevice> copy_of_original = original;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
101 CreateTetherAvailabilityRequestString()), 102 CreateTetherAvailabilityRequestString()),
102 test_devices_(cryptauth::GenerateTestRemoteDevices(5)) { 103 test_devices_(cryptauth::GenerateTestRemoteDevices(5)) {
103 // These tests are written under the assumption that there are a maximum of 104 // These tests are written under the assumption that there are a maximum of
104 // 3 connection attempts; they need to be edited if this value changes. 105 // 3 connection attempts; they need to be edited if this value changes.
105 EXPECT_EQ(3u, MessageTransferOperation::kMaxConnectionAttemptsPerDevice); 106 EXPECT_EQ(3u, MessageTransferOperation::kMaxConnectionAttemptsPerDevice);
106 } 107 }
107 108
108 void SetUp() override { 109 void SetUp() override {
109 fake_ble_connection_manager_ = base::MakeUnique<FakeBleConnectionManager>(); 110 fake_ble_connection_manager_ = base::MakeUnique<FakeBleConnectionManager>();
110 test_host_scan_device_prioritizer_ = 111 test_host_scan_device_prioritizer_ =
111 base::MakeUnique<StrictMock<TestHostScanDevicePrioritizer>>(); 112 base::MakeUnique<TestHostScanDevicePrioritizer>();
112 mock_tether_host_response_recorder_ = 113 mock_tether_host_response_recorder_ =
113 base::MakeUnique<StrictMock<MockTetherHostResponseRecorder>>(); 114 base::MakeUnique<StrictMock<MockTetherHostResponseRecorder>>();
114 test_observer_ = base::WrapUnique(new TestObserver()); 115 test_observer_ = base::WrapUnique(new TestObserver());
115 } 116 }
116 117
117 void ConstructOperation( 118 void ConstructOperation(
118 const std::vector<cryptauth::RemoteDevice>& remote_devices) { 119 const std::vector<cryptauth::RemoteDevice>& remote_devices) {
119 operation_ = base::WrapUnique(new HostScannerOperation( 120 operation_ = base::WrapUnique(new HostScannerOperation(
120 remote_devices, fake_ble_connection_manager_.get(), 121 remote_devices, fake_ble_connection_manager_.get(),
121 test_host_scan_device_prioritizer_.get(), 122 test_host_scan_device_prioritizer_.get(),
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 ConstructOperation(std::vector<cryptauth::RemoteDevice>{test_devices_[0]}); 197 ConstructOperation(std::vector<cryptauth::RemoteDevice>{test_devices_[0]});
197 SimulateDeviceAuthenticationAndVerifyMessageSent(test_devices_[0], 1u); 198 SimulateDeviceAuthenticationAndVerifyMessageSent(test_devices_[0], 1u);
198 SimulateResponseReceivedAndVerifyObserverCallbackInvoked( 199 SimulateResponseReceivedAndVerifyObserverCallbackInvoked(
199 test_devices_[0], response_code, std::string(kDefaultCarrier), true); 200 test_devices_[0], response_code, std::string(kDefaultCarrier), true);
200 } 201 }
201 202
202 const std::string tether_availability_request_string_; 203 const std::string tether_availability_request_string_;
203 const std::vector<cryptauth::RemoteDevice> test_devices_; 204 const std::vector<cryptauth::RemoteDevice> test_devices_;
204 205
205 std::unique_ptr<FakeBleConnectionManager> fake_ble_connection_manager_; 206 std::unique_ptr<FakeBleConnectionManager> fake_ble_connection_manager_;
206 std::unique_ptr<StrictMock<TestHostScanDevicePrioritizer>> 207 std::unique_ptr<TestHostScanDevicePrioritizer>
207 test_host_scan_device_prioritizer_; 208 test_host_scan_device_prioritizer_;
208 std::unique_ptr<StrictMock<MockTetherHostResponseRecorder>> 209 std::unique_ptr<StrictMock<MockTetherHostResponseRecorder>>
209 mock_tether_host_response_recorder_; 210 mock_tether_host_response_recorder_;
210 std::unique_ptr<TestObserver> test_observer_; 211 std::unique_ptr<TestObserver> test_observer_;
211 std::unique_ptr<HostScannerOperation> operation_; 212 std::unique_ptr<HostScannerOperation> operation_;
212 213
213 private: 214 private:
214 DISALLOW_COPY_AND_ASSIGN(HostScannerOperationTest); 215 DISALLOW_COPY_AND_ASSIGN(HostScannerOperationTest);
215 }; 216 };
216 217
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
359 "noService", true /* expected_to_be_last_scan_result */); 360 "noService", true /* expected_to_be_last_scan_result */);
360 361
361 // The scan should be over, and still no new scan results should have come in. 362 // The scan should be over, and still no new scan results should have come in.
362 EXPECT_TRUE(test_observer_->has_final_scan_result_been_sent); 363 EXPECT_TRUE(test_observer_->has_final_scan_result_been_sent);
363 EXPECT_EQ(2u, test_observer_->scanned_devices_so_far.size()); 364 EXPECT_EQ(2u, test_observer_->scanned_devices_so_far.size());
364 } 365 }
365 366
366 } // namespace tether 367 } // namespace tether
367 368
368 } // namespace chromeos 369 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698