| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/proximity_auth/proximity_monitor_impl.h" | 5 #include "components/proximity_auth/proximity_monitor_impl.h" |
| 6 | 6 |
| 7 #include <utility> |
| 8 |
| 7 #include "base/macros.h" | 9 #include "base/macros.h" |
| 8 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
| 9 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
| 10 #include "base/test/histogram_tester.h" | 12 #include "base/test/histogram_tester.h" |
| 11 #include "base/test/simple_test_tick_clock.h" | 13 #include "base/test/simple_test_tick_clock.h" |
| 12 #include "base/test/test_simple_task_runner.h" | 14 #include "base/test/test_simple_task_runner.h" |
| 13 #include "base/thread_task_runner_handle.h" | 15 #include "base/thread_task_runner_handle.h" |
| 14 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 15 #include "components/proximity_auth/logging/logging.h" | 17 #include "components/proximity_auth/logging/logging.h" |
| 16 #include "components/proximity_auth/proximity_monitor_observer.h" | 18 #include "components/proximity_auth/proximity_monitor_observer.h" |
| (...skipping 15 matching lines...) Expand all Loading... |
| 32 const char kRemoteDeviceUserId[] = "example@gmail.com"; | 34 const char kRemoteDeviceUserId[] = "example@gmail.com"; |
| 33 const char kBluetoothAddress[] = "AA:BB:CC:DD:EE:FF"; | 35 const char kBluetoothAddress[] = "AA:BB:CC:DD:EE:FF"; |
| 34 const char kRemoteDevicePublicKey[] = "Remote Public Key"; | 36 const char kRemoteDevicePublicKey[] = "Remote Public Key"; |
| 35 const char kRemoteDeviceName[] = "LGE Nexus 5"; | 37 const char kRemoteDeviceName[] = "LGE Nexus 5"; |
| 36 const char kPersistentSymmetricKey[] = "PSK"; | 38 const char kPersistentSymmetricKey[] = "PSK"; |
| 37 | 39 |
| 38 class TestProximityMonitorImpl : public ProximityMonitorImpl { | 40 class TestProximityMonitorImpl : public ProximityMonitorImpl { |
| 39 public: | 41 public: |
| 40 explicit TestProximityMonitorImpl(const RemoteDevice& remote_device, | 42 explicit TestProximityMonitorImpl(const RemoteDevice& remote_device, |
| 41 scoped_ptr<base::TickClock> clock) | 43 scoped_ptr<base::TickClock> clock) |
| 42 : ProximityMonitorImpl(remote_device, clock.Pass()) {} | 44 : ProximityMonitorImpl(remote_device, std::move(clock)) {} |
| 43 ~TestProximityMonitorImpl() override {} | 45 ~TestProximityMonitorImpl() override {} |
| 44 | 46 |
| 45 using ProximityMonitorImpl::SetStrategy; | 47 using ProximityMonitorImpl::SetStrategy; |
| 46 | 48 |
| 47 private: | 49 private: |
| 48 DISALLOW_COPY_AND_ASSIGN(TestProximityMonitorImpl); | 50 DISALLOW_COPY_AND_ASSIGN(TestProximityMonitorImpl); |
| 49 }; | 51 }; |
| 50 | 52 |
| 51 class MockProximityMonitorObserver : public ProximityMonitorObserver { | 53 class MockProximityMonitorObserver : public ProximityMonitorObserver { |
| 52 public: | 54 public: |
| (...skipping 483 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 TEST_F(ProximityAuthProximityMonitorImplTest, | 538 TEST_F(ProximityAuthProximityMonitorImplTest, |
| 537 RecordProximityMetricsOnAuthSuccess_UnknownValues) { | 539 RecordProximityMetricsOnAuthSuccess_UnknownValues) { |
| 538 // Note: A device without a recorded name will have its Bluetooth address as | 540 // Note: A device without a recorded name will have its Bluetooth address as |
| 539 // its name. | 541 // its name. |
| 540 RemoteDevice unnamed_remote_device( | 542 RemoteDevice unnamed_remote_device( |
| 541 kRemoteDeviceUserId, kBluetoothAddress, kRemoteDevicePublicKey, | 543 kRemoteDeviceUserId, kBluetoothAddress, kRemoteDevicePublicKey, |
| 542 RemoteDevice::BLUETOOTH_CLASSIC, kBluetoothAddress, | 544 RemoteDevice::BLUETOOTH_CLASSIC, kBluetoothAddress, |
| 543 kPersistentSymmetricKey, std::string()); | 545 kPersistentSymmetricKey, std::string()); |
| 544 | 546 |
| 545 scoped_ptr<base::TickClock> clock(new base::SimpleTestTickClock()); | 547 scoped_ptr<base::TickClock> clock(new base::SimpleTestTickClock()); |
| 546 ProximityMonitorImpl monitor(unnamed_remote_device, clock.Pass()); | 548 ProximityMonitorImpl monitor(unnamed_remote_device, std::move(clock)); |
| 547 monitor.AddObserver(&observer_); | 549 monitor.AddObserver(&observer_); |
| 548 monitor.Start(); | 550 monitor.Start(); |
| 549 ProvideConnectionInfo({127, 127, 127}); | 551 ProvideConnectionInfo({127, 127, 127}); |
| 550 | 552 |
| 551 base::HistogramTester histogram_tester; | 553 base::HistogramTester histogram_tester; |
| 552 monitor.RecordProximityMetricsOnAuthSuccess(); | 554 monitor.RecordProximityMetricsOnAuthSuccess(); |
| 553 histogram_tester.ExpectUniqueSample("EasyUnlock.AuthProximity.RollingRssi", | 555 histogram_tester.ExpectUniqueSample("EasyUnlock.AuthProximity.RollingRssi", |
| 554 127, 1); | 556 127, 1); |
| 555 histogram_tester.ExpectUniqueSample( | 557 histogram_tester.ExpectUniqueSample( |
| 556 "EasyUnlock.AuthProximity.TransmitPowerDelta", 127, 1); | 558 "EasyUnlock.AuthProximity.TransmitPowerDelta", 127, 1); |
| 557 histogram_tester.ExpectUniqueSample( | 559 histogram_tester.ExpectUniqueSample( |
| 558 "EasyUnlock.AuthProximity.TimeSinceLastZeroRssi", | 560 "EasyUnlock.AuthProximity.TimeSinceLastZeroRssi", |
| 559 base::TimeDelta::FromSeconds(10).InMilliseconds(), 1); | 561 base::TimeDelta::FromSeconds(10).InMilliseconds(), 1); |
| 560 histogram_tester.ExpectUniqueSample( | 562 histogram_tester.ExpectUniqueSample( |
| 561 "EasyUnlock.AuthProximity.RemoteDeviceModelHash", | 563 "EasyUnlock.AuthProximity.RemoteDeviceModelHash", |
| 562 -1808066424 /* hash of "Unknown" */, 1); | 564 -1808066424 /* hash of "Unknown" */, 1); |
| 563 } | 565 } |
| 564 | 566 |
| 565 } // namespace proximity_auth | 567 } // namespace proximity_auth |
| OLD | NEW |