OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/bluetooth_connection.h" | 5 #include "components/proximity_auth/bluetooth_connection.h" |
6 | 6 |
| 7 #include <utility> |
| 8 |
7 #include "base/macros.h" | 9 #include "base/macros.h" |
8 #include "base/message_loop/message_loop.h" | 10 #include "base/message_loop/message_loop.h" |
9 #include "base/numerics/safe_conversions.h" | 11 #include "base/numerics/safe_conversions.h" |
10 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
11 #include "components/proximity_auth/proximity_auth_test_util.h" | 13 #include "components/proximity_auth/proximity_auth_test_util.h" |
12 #include "components/proximity_auth/remote_device.h" | 14 #include "components/proximity_auth/remote_device.h" |
13 #include "components/proximity_auth/wire_message.h" | 15 #include "components/proximity_auth/wire_message.h" |
14 #include "device/bluetooth/bluetooth_adapter_factory.h" | 16 #include "device/bluetooth/bluetooth_adapter_factory.h" |
15 #include "device/bluetooth/bluetooth_uuid.h" | 17 #include "device/bluetooth/bluetooth_uuid.h" |
16 #include "device/bluetooth/test/mock_bluetooth_adapter.h" | 18 #include "device/bluetooth/test/mock_bluetooth_adapter.h" |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
394 TEST_F(ProximityAuthBluetoothConnectionTest, | 396 TEST_F(ProximityAuthBluetoothConnectionTest, |
395 SendMessage_SendsExpectedDataOverTheWire) { | 397 SendMessage_SendsExpectedDataOverTheWire) { |
396 // Create a connected connection. | 398 // Create a connected connection. |
397 StrictMock<MockBluetoothConnection> connection; | 399 StrictMock<MockBluetoothConnection> connection; |
398 Connect(&connection); | 400 Connect(&connection); |
399 | 401 |
400 scoped_refptr<net::IOBuffer> buffer; | 402 scoped_refptr<net::IOBuffer> buffer; |
401 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); | 403 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); |
402 EXPECT_CALL(*socket_, Send(_, kSerializedMessageLength, _, _)) | 404 EXPECT_CALL(*socket_, Send(_, kSerializedMessageLength, _, _)) |
403 .WillOnce(SaveArg<0>(&buffer)); | 405 .WillOnce(SaveArg<0>(&buffer)); |
404 connection.SendMessage(wire_message.Pass()); | 406 connection.SendMessage(std::move(wire_message)); |
405 ASSERT_TRUE(buffer.get()); | 407 ASSERT_TRUE(buffer.get()); |
406 EXPECT_EQ(kSerializedMessage, | 408 EXPECT_EQ(kSerializedMessage, |
407 std::string(buffer->data(), kSerializedMessageLength)); | 409 std::string(buffer->data(), kSerializedMessageLength)); |
408 | 410 |
409 // The connection disconnects and unregisters as an observer upon destruction. | 411 // The connection disconnects and unregisters as an observer upon destruction. |
410 EXPECT_CALL(*socket_, Disconnect(_)); | 412 EXPECT_CALL(*socket_, Disconnect(_)); |
411 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); | 413 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); |
412 } | 414 } |
413 | 415 |
414 TEST_F(ProximityAuthBluetoothConnectionTest, SendMessage_Success) { | 416 TEST_F(ProximityAuthBluetoothConnectionTest, SendMessage_Success) { |
415 // Create a connected connection. | 417 // Create a connected connection. |
416 StrictMock<MockBluetoothConnection> connection; | 418 StrictMock<MockBluetoothConnection> connection; |
417 Connect(&connection); | 419 Connect(&connection); |
418 | 420 |
419 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); | 421 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); |
420 // Ownership will be transfered below, so grab a reference here. | 422 // Ownership will be transfered below, so grab a reference here. |
421 TestWireMessage* expected_wire_message = wire_message.get(); | 423 TestWireMessage* expected_wire_message = wire_message.get(); |
422 | 424 |
423 device::BluetoothSocket::SendCompletionCallback callback; | 425 device::BluetoothSocket::SendCompletionCallback callback; |
424 EXPECT_CALL(*socket_, Send(_, _, _, _)).WillOnce(SaveArg<2>(&callback)); | 426 EXPECT_CALL(*socket_, Send(_, _, _, _)).WillOnce(SaveArg<2>(&callback)); |
425 connection.SendMessage(wire_message.Pass()); | 427 connection.SendMessage(std::move(wire_message)); |
426 ASSERT_FALSE(callback.is_null()); | 428 ASSERT_FALSE(callback.is_null()); |
427 | 429 |
428 EXPECT_CALL(connection, OnDidSendMessage(Ref(*expected_wire_message), true)); | 430 EXPECT_CALL(connection, OnDidSendMessage(Ref(*expected_wire_message), true)); |
429 callback.Run(kSerializedMessageLength); | 431 callback.Run(kSerializedMessageLength); |
430 | 432 |
431 // The connection disconnects and unregisters as an observer upon destruction. | 433 // The connection disconnects and unregisters as an observer upon destruction. |
432 EXPECT_CALL(*socket_, Disconnect(_)); | 434 EXPECT_CALL(*socket_, Disconnect(_)); |
433 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); | 435 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); |
434 } | 436 } |
435 | 437 |
436 TEST_F(ProximityAuthBluetoothConnectionTest, SendMessage_Failure) { | 438 TEST_F(ProximityAuthBluetoothConnectionTest, SendMessage_Failure) { |
437 // Create a connected connection. | 439 // Create a connected connection. |
438 StrictMock<MockBluetoothConnection> connection; | 440 StrictMock<MockBluetoothConnection> connection; |
439 Connect(&connection); | 441 Connect(&connection); |
440 | 442 |
441 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); | 443 scoped_ptr<TestWireMessage> wire_message(new TestWireMessage); |
442 // Ownership will be transfered below, so grab a reference here. | 444 // Ownership will be transfered below, so grab a reference here. |
443 TestWireMessage* expected_wire_message = wire_message.get(); | 445 TestWireMessage* expected_wire_message = wire_message.get(); |
444 | 446 |
445 device::BluetoothSocket::ErrorCompletionCallback error_callback; | 447 device::BluetoothSocket::ErrorCompletionCallback error_callback; |
446 EXPECT_CALL(*socket_, Send(_, _, _, _)).WillOnce(SaveArg<3>(&error_callback)); | 448 EXPECT_CALL(*socket_, Send(_, _, _, _)).WillOnce(SaveArg<3>(&error_callback)); |
447 connection.SendMessage(wire_message.Pass()); | 449 connection.SendMessage(std::move(wire_message)); |
448 | 450 |
449 ASSERT_FALSE(error_callback.is_null()); | 451 ASSERT_FALSE(error_callback.is_null()); |
450 EXPECT_CALL(connection, OnDidSendMessage(Ref(*expected_wire_message), false)); | 452 EXPECT_CALL(connection, OnDidSendMessage(Ref(*expected_wire_message), false)); |
451 EXPECT_CALL(connection, SetStatusProxy(Connection::DISCONNECTED)); | 453 EXPECT_CALL(connection, SetStatusProxy(Connection::DISCONNECTED)); |
452 EXPECT_CALL(*socket_, Disconnect(_)); | 454 EXPECT_CALL(*socket_, Disconnect(_)); |
453 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); | 455 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); |
454 error_callback.Run("The most helpful of error messages"); | 456 error_callback.Run("The most helpful of error messages"); |
455 } | 457 } |
456 | 458 |
457 TEST_F(ProximityAuthBluetoothConnectionTest, DeviceChanged_Disconnected) { | 459 TEST_F(ProximityAuthBluetoothConnectionTest, DeviceChanged_Disconnected) { |
(...skipping 19 matching lines...) Expand all Loading... |
477 EXPECT_TRUE(connection.IsConnected()); | 479 EXPECT_TRUE(connection.IsConnected()); |
478 connection.DeviceChanged(adapter_.get(), &device_); | 480 connection.DeviceChanged(adapter_.get(), &device_); |
479 EXPECT_TRUE(connection.IsConnected()); | 481 EXPECT_TRUE(connection.IsConnected()); |
480 | 482 |
481 // The connection disconnects and unregisters as an observer upon destruction. | 483 // The connection disconnects and unregisters as an observer upon destruction. |
482 EXPECT_CALL(*socket_, Disconnect(_)); | 484 EXPECT_CALL(*socket_, Disconnect(_)); |
483 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); | 485 EXPECT_CALL(*adapter_, RemoveObserver(&connection)); |
484 } | 486 } |
485 | 487 |
486 } // namespace proximity_auth | 488 } // namespace proximity_auth |
OLD | NEW |