| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "ash/quick_pair/common/device.h" |
| |
| #include <cstdint> |
| |
| #include "ash/quick_pair/common/protocol.h" |
| #include "base/memory/scoped_refptr.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| |
| namespace ash { |
| namespace quick_pair { |
| |
| class DeviceTest : public testing::Test { |
| protected: |
| scoped_refptr<Device> device_ = |
| base::MakeRefCounted<Device>("metadata_id", |
| "ble_address", |
| Protocol::kFastPairInitial); |
| }; |
| |
| TEST_F(DeviceTest, GetAndSetAccountKey) { |
| std::optional<std::vector<uint8_t>> accountKey; |
| std::vector<uint8_t> data = {0}; |
| device_->set_account_key(data); |
| accountKey = device_->account_key(); |
| EXPECT_EQ(accountKey, data); |
| |
| // Test that overriding works. |
| std::vector<uint8_t> more_data = {1}; |
| device_->set_account_key(more_data); |
| accountKey = device_->account_key(); |
| EXPECT_EQ(accountKey, more_data); |
| } |
| |
| TEST_F(DeviceTest, GetAndSetName) { |
| // Test that name returns null before any sets. |
| std::optional<std::string> name = device_->display_name(); |
| EXPECT_FALSE(name.has_value()); |
| |
| // Test that name returns the set value. |
| std::string test_name = "test_name"; |
| device_->set_display_name(test_name); |
| name = device_->display_name(); |
| EXPECT_TRUE(name.has_value()); |
| EXPECT_EQ(name.value(), test_name); |
| |
| // Test that overriding works. |
| std::string new_test_name = "new_test_name"; |
| device_->set_display_name(new_test_name); |
| name = device_->display_name(); |
| EXPECT_TRUE(name.has_value()); |
| EXPECT_EQ(name.value(), new_test_name); |
| } |
| } // namespace quick_pair |
| } // namespace ash |