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 "chrome/browser/devtools/device/cast_device_provider.h" | 5 #include "chrome/browser/devtools/device/cast_device_provider.h" |
6 | 6 |
7 #include "chrome/browser/devtools/device/android_device_manager.h" | 7 #include "chrome/browser/devtools/device/android_device_manager.h" |
8 #include "net/base/host_port_pair.h" | 8 #include "net/base/host_port_pair.h" |
9 #include "net/base/ip_address.h" | |
10 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
11 | 10 |
12 using local_discovery::ServiceDescription; | 11 using local_discovery::ServiceDescription; |
13 using DeviceInfo = AndroidDeviceManager::DeviceInfo; | 12 using DeviceInfo = AndroidDeviceManager::DeviceInfo; |
14 using BrowserInfo = AndroidDeviceManager::BrowserInfo; | 13 using BrowserInfo = AndroidDeviceManager::BrowserInfo; |
15 | 14 |
16 namespace { | 15 namespace { |
17 | 16 |
18 void CompareDeviceInfo(bool* was_run, | 17 void CompareDeviceInfo(bool* was_run, |
19 const DeviceInfo& expected, | 18 const DeviceInfo& expected, |
(...skipping 24 matching lines...) Expand all Loading... |
44 const std::string cast_service_type = "_googlecast._tcp.local"; | 43 const std::string cast_service_type = "_googlecast._tcp.local"; |
45 const std::string cast_service_model = "Fake Cast Device"; | 44 const std::string cast_service_model = "Fake Cast Device"; |
46 | 45 |
47 ServiceDescription cast_service; | 46 ServiceDescription cast_service; |
48 cast_service.service_name = | 47 cast_service.service_name = |
49 cast_service_display_name + "." + cast_service_type; | 48 cast_service_display_name + "." + cast_service_type; |
50 cast_service.address = net::HostPortPair("192.168.1.101", 8009); | 49 cast_service.address = net::HostPortPair("192.168.1.101", 8009); |
51 cast_service.metadata.push_back("id=0123456789abcdef0123456789abcdef"); | 50 cast_service.metadata.push_back("id=0123456789abcdef0123456789abcdef"); |
52 cast_service.metadata.push_back("ve=00"); | 51 cast_service.metadata.push_back("ve=00"); |
53 cast_service.metadata.push_back("md=" + cast_service_model); | 52 cast_service.metadata.push_back("md=" + cast_service_model); |
54 ASSERT_TRUE( | 53 ASSERT_TRUE(cast_service.ip_address.AssignFromIPLiteral("192.168.1.101")); |
55 net::IPAddress::FromIPLiteral("192.168.1.101", &cast_service.ip_address)); | |
56 | 54 |
57 device_provider_->OnDeviceChanged(true, cast_service); | 55 device_provider_->OnDeviceChanged(true, cast_service); |
58 | 56 |
59 BrowserInfo exp_browser_info; | 57 BrowserInfo exp_browser_info; |
60 exp_browser_info.socket_name = "9222"; | 58 exp_browser_info.socket_name = "9222"; |
61 exp_browser_info.display_name = cast_service_display_name; | 59 exp_browser_info.display_name = cast_service_display_name; |
62 exp_browser_info.type = BrowserInfo::kTypeChrome; | 60 exp_browser_info.type = BrowserInfo::kTypeChrome; |
63 | 61 |
64 DeviceInfo expected; | 62 DeviceInfo expected; |
65 expected.model = cast_service_model; // From metadata::md | 63 expected.model = cast_service_model; // From metadata::md |
(...skipping 13 matching lines...) Expand all Loading... |
79 const std::string other_service_type = "_other._tcp.local"; | 77 const std::string other_service_type = "_other._tcp.local"; |
80 const std::string other_service_model = "Some Other Device"; | 78 const std::string other_service_model = "Some Other Device"; |
81 | 79 |
82 ServiceDescription other_service; | 80 ServiceDescription other_service; |
83 other_service.service_name = | 81 other_service.service_name = |
84 other_service_display_name + "." + other_service_type; | 82 other_service_display_name + "." + other_service_type; |
85 other_service.address = net::HostPortPair("10.64.1.101", 1234); | 83 other_service.address = net::HostPortPair("10.64.1.101", 1234); |
86 other_service.metadata.push_back("id=0123456789abcdef0123456789abcdef"); | 84 other_service.metadata.push_back("id=0123456789abcdef0123456789abcdef"); |
87 other_service.metadata.push_back("ve=00"); | 85 other_service.metadata.push_back("ve=00"); |
88 other_service.metadata.push_back("md=" + other_service_model); | 86 other_service.metadata.push_back("md=" + other_service_model); |
89 ASSERT_TRUE( | 87 ASSERT_TRUE(other_service.ip_address.AssignFromIPLiteral("10.64.1.101")); |
90 net::IPAddress::FromIPLiteral("10.64.1.101", &other_service.ip_address)); | |
91 | 88 |
92 // Callback should not be run, since this service is not yet discovered. | 89 // Callback should not be run, since this service is not yet discovered. |
93 device_provider_->QueryDeviceInfo(other_service.address.host(), | 90 device_provider_->QueryDeviceInfo(other_service.address.host(), |
94 base::Bind(&DummyCallback, &was_run)); | 91 base::Bind(&DummyCallback, &was_run)); |
95 ASSERT_FALSE(was_run); | 92 ASSERT_FALSE(was_run); |
96 | 93 |
97 device_provider_->OnDeviceChanged(true, other_service); | 94 device_provider_->OnDeviceChanged(true, other_service); |
98 | 95 |
99 // Callback should not be run, since non-cast services are not discovered by | 96 // Callback should not be run, since non-cast services are not discovered by |
100 // this device provider. | 97 // this device provider. |
101 device_provider_->QueryDeviceInfo(other_service.address.host(), | 98 device_provider_->QueryDeviceInfo(other_service.address.host(), |
102 base::Bind(&DummyCallback, &was_run)); | 99 base::Bind(&DummyCallback, &was_run)); |
103 ASSERT_FALSE(was_run); | 100 ASSERT_FALSE(was_run); |
104 | 101 |
105 // Remove the cast service. | 102 // Remove the cast service. |
106 device_provider_->OnDeviceRemoved(cast_service.service_name); | 103 device_provider_->OnDeviceRemoved(cast_service.service_name); |
107 | 104 |
108 // Callback should not be run, since the cast service has been removed. | 105 // Callback should not be run, since the cast service has been removed. |
109 device_provider_->QueryDeviceInfo(cast_service.address.host(), | 106 device_provider_->QueryDeviceInfo(cast_service.address.host(), |
110 base::Bind(&DummyCallback, &was_run)); | 107 base::Bind(&DummyCallback, &was_run)); |
111 ASSERT_FALSE(was_run); | 108 ASSERT_FALSE(was_run); |
112 } | 109 } |
OLD | NEW |