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

Side by Side Diff: chrome/browser/extensions/api/socket/socket_apitest.cc

Issue 233633003: Cleanup a TODO and other nits in SocketApiTest. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "base/memory/ref_counted.h" 5 #include "base/memory/ref_counted.h"
6 #include "base/path_service.h" 6 #include "base/path_service.h"
7 #include "base/strings/stringprintf.h" 7 #include "base/strings/stringprintf.h"
8 #include "chrome/browser/extensions/api/dns/mock_host_resolver_creator.h" 8 #include "chrome/browser/extensions/api/dns/mock_host_resolver_creator.h"
9 #include "chrome/browser/extensions/extension_apitest.h" 9 #include "chrome/browser/extensions/extension_apitest.h"
10 #include "chrome/browser/extensions/extension_function_test_utils.h" 10 #include "chrome/browser/extensions/extension_function_test_utils.h"
11 #include "chrome/browser/extensions/extension_service.h" 11 #include "chrome/browser/extensions/extension_service.h"
12 #include "chrome/browser/extensions/extension_test_message_listener.h" 12 #include "chrome/browser/extensions/extension_test_message_listener.h"
13 #include "chrome/browser/ui/browser.h" 13 #include "chrome/browser/ui/browser.h"
14 #include "chrome/browser/ui/extensions/application_launch.h"
15 #include "chrome/common/chrome_paths.h" 14 #include "chrome/common/chrome_paths.h"
16 #include "chrome/test/base/in_process_browser_test.h" 15 #include "chrome/test/base/in_process_browser_test.h"
17 #include "chrome/test/base/ui_test_utils.h" 16 #include "chrome/test/base/ui_test_utils.h"
18 #include "extensions/browser/api/dns/host_resolver_wrapper.h" 17 #include "extensions/browser/api/dns/host_resolver_wrapper.h"
19 #include "extensions/browser/api/socket/socket_api.h" 18 #include "extensions/browser/api/socket/socket_api.h"
20 #include "net/dns/mock_host_resolver.h" 19 #include "net/dns/mock_host_resolver.h"
21 #include "net/test/spawned_test_server/spawned_test_server.h" 20 #include "net/test/spawned_test_server/spawned_test_server.h"
22 21
22 #if !defined(DISABLE_NACL)
23 #include "base/command_line.h"
24 #include "chrome/browser/ui/extensions/application_launch.h"
25 #include "ppapi/shared_impl/ppapi_switches.h"
26 #endif
27
23 using extensions::Extension; 28 using extensions::Extension;
24 29
25 namespace utils = extension_function_test_utils; 30 namespace utils = extension_function_test_utils;
26 31
27 namespace { 32 namespace {
28 33
29 const std::string kHostname = "127.0.0.1"; 34 const std::string kHostname = "127.0.0.1";
30 const int kPort = 8888; 35 const int kPort = 8888;
31 36
32 class SocketApiTest : public ExtensionApiTest { 37 class SocketApiTest : public ExtensionApiTest {
(...skipping 28 matching lines...) Expand all
61 // move these Pepper API tests there. 66 // move these Pepper API tests there.
62 class SocketPpapiTest : public SocketApiTest { 67 class SocketPpapiTest : public SocketApiTest {
63 public: 68 public:
64 SocketPpapiTest() { 69 SocketPpapiTest() {
65 } 70 }
66 virtual ~SocketPpapiTest() { 71 virtual ~SocketPpapiTest() {
67 } 72 }
68 73
69 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { 74 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
70 SocketApiTest::SetUpCommandLine(command_line); 75 SocketApiTest::SetUpCommandLine(command_line);
71 // TODO(yzshen): It is better to use switches::kEnablePepperTesting. 76 command_line->AppendSwitch(switches::kEnablePepperTesting);
72 // However, that requires adding a new DEPS entry. Considering that we are
73 // going to move the Pepper API tests to a new place, use a string literal
74 // for now.
75 command_line->AppendSwitch("enable-pepper-testing");
76 } 77 }
77 78
78 virtual void SetUpOnMainThread() OVERRIDE { 79 virtual void SetUpOnMainThread() OVERRIDE {
79 SocketApiTest::SetUpOnMainThread(); 80 SocketApiTest::SetUpOnMainThread();
80 81
81 PathService::Get(chrome::DIR_GEN_TEST_DATA, &app_dir_); 82 ASSERT_TRUE(PathService::Get(chrome::DIR_GEN_TEST_DATA, &app_dir_));
82 app_dir_ = app_dir_.AppendASCII("ppapi/tests/extensions/socket/newlib"); 83 app_dir_ = app_dir_.AppendASCII("ppapi")
84 .AppendASCII("tests")
85 .AppendASCII("extensions")
86 .AppendASCII("socket")
87 .AppendASCII("newlib");
83 } 88 }
84 89
85 protected: 90 protected:
86 void LaunchTestingApp() { 91 void LaunchTestingApp() {
87 const Extension* extension = LoadExtension(app_dir_); 92 const Extension* extension = LoadExtension(app_dir_);
88 ASSERT_TRUE(extension); 93 ASSERT_TRUE(extension);
89 94
90 AppLaunchParams params(browser()->profile(), 95 AppLaunchParams params(browser()->profile(),
91 extension, 96 extension,
92 extensions::LAUNCH_CONTAINER_NONE, 97 extensions::LAUNCH_CONTAINER_NONE,
93 NEW_WINDOW); 98 NEW_WINDOW);
94 params.command_line = *CommandLine::ForCurrentProcess(); 99 params.command_line = *CommandLine::ForCurrentProcess();
95 OpenApplication(params); 100 OpenApplication(params);
96 } 101 }
97 102
98 private: 103 private:
99 base::FilePath app_dir_; 104 base::FilePath app_dir_;
100 }; 105 };
101 #endif 106 #endif // !defined(DISABLE_NACL)
102 107
103 } // namespace 108 } // namespace
104 109
105 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPCreateGood) { 110 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPCreateGood) {
106 scoped_refptr<extensions::SocketCreateFunction> socket_create_function( 111 scoped_refptr<extensions::SocketCreateFunction> socket_create_function(
107 new extensions::SocketCreateFunction()); 112 new extensions::SocketCreateFunction());
108 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension()); 113 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
109 114
110 socket_create_function->set_extension(empty_extension.get()); 115 socket_create_function->set_extension(empty_extension.get());
111 socket_create_function->set_has_callback(true); 116 socket_create_function->set_has_callback(true);
112 117
113 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult( 118 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
114 socket_create_function.get(), "[\"udp\"]", browser(), utils::NONE)); 119 socket_create_function.get(), "[\"udp\"]", browser(), utils::NONE));
115 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); 120 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType());
116 base::DictionaryValue *value = 121 base::DictionaryValue *value =
117 static_cast<base::DictionaryValue*>(result.get()); 122 static_cast<base::DictionaryValue*>(result.get());
118 int socketId = -1; 123 int socket_id = -1;
119 EXPECT_TRUE(value->GetInteger("socketId", &socketId)); 124 EXPECT_TRUE(value->GetInteger("socketId", &socket_id));
120 EXPECT_TRUE(socketId > 0); 125 EXPECT_GT(socket_id, 0);
121 } 126 }
122 127
123 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketTCPCreateGood) { 128 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketTCPCreateGood) {
124 scoped_refptr<extensions::SocketCreateFunction> socket_create_function( 129 scoped_refptr<extensions::SocketCreateFunction> socket_create_function(
125 new extensions::SocketCreateFunction()); 130 new extensions::SocketCreateFunction());
126 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension()); 131 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
127 132
128 socket_create_function->set_extension(empty_extension.get()); 133 socket_create_function->set_extension(empty_extension.get());
129 socket_create_function->set_has_callback(true); 134 socket_create_function->set_has_callback(true);
130 135
131 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult( 136 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
132 socket_create_function.get(), "[\"tcp\"]", browser(), utils::NONE)); 137 socket_create_function.get(), "[\"tcp\"]", browser(), utils::NONE));
133 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType()); 138 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType());
134 base::DictionaryValue *value = 139 base::DictionaryValue *value =
135 static_cast<base::DictionaryValue*>(result.get()); 140 static_cast<base::DictionaryValue*>(result.get());
136 int socketId = -1; 141 int socket_id = -1;
137 EXPECT_TRUE(value->GetInteger("socketId", &socketId)); 142 EXPECT_TRUE(value->GetInteger("socketId", &socket_id));
138 ASSERT_TRUE(socketId > 0); 143 ASSERT_GT(socket_id, 0);
139 } 144 }
140 145
141 IN_PROC_BROWSER_TEST_F(SocketApiTest, GetNetworkList) { 146 IN_PROC_BROWSER_TEST_F(SocketApiTest, GetNetworkList) {
142 scoped_refptr<extensions::SocketGetNetworkListFunction> socket_function( 147 scoped_refptr<extensions::SocketGetNetworkListFunction> socket_function(
143 new extensions::SocketGetNetworkListFunction()); 148 new extensions::SocketGetNetworkListFunction());
144 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension()); 149 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
145 150
146 socket_function->set_extension(empty_extension.get()); 151 socket_function->set_extension(empty_extension.get());
147 socket_function->set_has_callback(true); 152 socket_function->set_has_callback(true);
148 153
149 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult( 154 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
150 socket_function.get(), "[]", browser(), utils::NONE)); 155 socket_function.get(), "[]", browser(), utils::NONE));
151 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType()); 156 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType());
152 157
153 // If we're invoking socket tests, all we can confirm is that we have at 158 // If we're invoking socket tests, all we can confirm is that we have at
154 // least one address, but not what it is. 159 // least one address, but not what it is.
155 base::ListValue *value = static_cast<base::ListValue*>(result.get()); 160 base::ListValue *value = static_cast<base::ListValue*>(result.get());
156 ASSERT_TRUE(value->GetSize() > 0); 161 ASSERT_GT(value->GetSize(), 0U);
157 } 162 }
158 163
159 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPExtension) { 164 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPExtension) {
160 scoped_ptr<net::SpawnedTestServer> test_server( 165 scoped_ptr<net::SpawnedTestServer> test_server(
161 new net::SpawnedTestServer( 166 new net::SpawnedTestServer(
162 net::SpawnedTestServer::TYPE_UDP_ECHO, 167 net::SpawnedTestServer::TYPE_UDP_ECHO,
163 net::SpawnedTestServer::kLocalhost, 168 net::SpawnedTestServer::kLocalhost,
164 base::FilePath(FILE_PATH_LITERAL("net/data")))); 169 base::FilePath(FILE_PATH_LITERAL("net/data"))));
165 EXPECT_TRUE(test_server->Start()); 170 EXPECT_TRUE(test_server->Start());
166 171
167 net::HostPortPair host_port_pair = test_server->host_port_pair(); 172 net::HostPortPair host_port_pair = test_server->host_port_pair();
168 int port = host_port_pair.port(); 173 int port = host_port_pair.port();
169 ASSERT_TRUE(port > 0); 174 ASSERT_GT(port, 0);
170 175
171 // Test that sendTo() is properly resolving hostnames. 176 // Test that sendTo() is properly resolving hostnames.
172 host_port_pair.set_host("LOCALhost"); 177 host_port_pair.set_host("LOCALhost");
173 178
174 ResultCatcher catcher; 179 ResultCatcher catcher;
175 catcher.RestrictToProfile(browser()->profile()); 180 catcher.RestrictToProfile(browser()->profile());
176 181
177 ExtensionTestMessageListener listener("info_please", true); 182 ExtensionTestMessageListener listener("info_please", true);
178 183
179 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api"))); 184 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api")));
180 EXPECT_TRUE(listener.WaitUntilSatisfied()); 185 EXPECT_TRUE(listener.WaitUntilSatisfied());
181 listener.Reply( 186 listener.Reply(
182 base::StringPrintf("udp:%s:%d", host_port_pair.host().c_str(), port)); 187 base::StringPrintf("udp:%s:%d", host_port_pair.host().c_str(), port));
183 188
184 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 189 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
185 } 190 }
186 191
187 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketTCPExtension) { 192 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketTCPExtension) {
188 scoped_ptr<net::SpawnedTestServer> test_server( 193 scoped_ptr<net::SpawnedTestServer> test_server(
189 new net::SpawnedTestServer( 194 new net::SpawnedTestServer(
190 net::SpawnedTestServer::TYPE_TCP_ECHO, 195 net::SpawnedTestServer::TYPE_TCP_ECHO,
191 net::SpawnedTestServer::kLocalhost, 196 net::SpawnedTestServer::kLocalhost,
192 base::FilePath(FILE_PATH_LITERAL("net/data")))); 197 base::FilePath(FILE_PATH_LITERAL("net/data"))));
193 EXPECT_TRUE(test_server->Start()); 198 EXPECT_TRUE(test_server->Start());
194 199
195 net::HostPortPair host_port_pair = test_server->host_port_pair(); 200 net::HostPortPair host_port_pair = test_server->host_port_pair();
196 int port = host_port_pair.port(); 201 int port = host_port_pair.port();
197 ASSERT_TRUE(port > 0); 202 ASSERT_GT(port, 0);
198 203
199 // Test that connect() is properly resolving hostnames. 204 // Test that connect() is properly resolving hostnames.
200 host_port_pair.set_host("lOcAlHoSt"); 205 host_port_pair.set_host("lOcAlHoSt");
201 206
202 ResultCatcher catcher; 207 ResultCatcher catcher;
203 catcher.RestrictToProfile(browser()->profile()); 208 catcher.RestrictToProfile(browser()->profile());
204 209
205 ExtensionTestMessageListener listener("info_please", true); 210 ExtensionTestMessageListener listener("info_please", true);
206 211
207 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api"))); 212 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api")));
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 IN_PROC_BROWSER_TEST_F(SocketPpapiTest, MAYBE_UDP) { 266 IN_PROC_BROWSER_TEST_F(SocketPpapiTest, MAYBE_UDP) {
262 scoped_ptr<net::SpawnedTestServer> test_server( 267 scoped_ptr<net::SpawnedTestServer> test_server(
263 new net::SpawnedTestServer( 268 new net::SpawnedTestServer(
264 net::SpawnedTestServer::TYPE_UDP_ECHO, 269 net::SpawnedTestServer::TYPE_UDP_ECHO,
265 net::SpawnedTestServer::kLocalhost, 270 net::SpawnedTestServer::kLocalhost,
266 base::FilePath(FILE_PATH_LITERAL("net/data")))); 271 base::FilePath(FILE_PATH_LITERAL("net/data"))));
267 EXPECT_TRUE(test_server->Start()); 272 EXPECT_TRUE(test_server->Start());
268 273
269 net::HostPortPair host_port_pair = test_server->host_port_pair(); 274 net::HostPortPair host_port_pair = test_server->host_port_pair();
270 int port = host_port_pair.port(); 275 int port = host_port_pair.port();
271 ASSERT_TRUE(port > 0); 276 ASSERT_GT(port, 0);
272 277
273 // Test that sendTo() is properly resolving hostnames. 278 // Test that sendTo() is properly resolving hostnames.
274 host_port_pair.set_host("LOCALhost"); 279 host_port_pair.set_host("LOCALhost");
275 280
276 ResultCatcher catcher; 281 ResultCatcher catcher;
277 catcher.RestrictToProfile(browser()->profile()); 282 catcher.RestrictToProfile(browser()->profile());
278 283
279 ExtensionTestMessageListener listener("info_please", true); 284 ExtensionTestMessageListener listener("info_please", true);
280 285
281 LaunchTestingApp(); 286 LaunchTestingApp();
(...skipping 14 matching lines...) Expand all
296 IN_PROC_BROWSER_TEST_F(SocketPpapiTest, MAYBE_TCP) { 301 IN_PROC_BROWSER_TEST_F(SocketPpapiTest, MAYBE_TCP) {
297 scoped_ptr<net::SpawnedTestServer> test_server( 302 scoped_ptr<net::SpawnedTestServer> test_server(
298 new net::SpawnedTestServer( 303 new net::SpawnedTestServer(
299 net::SpawnedTestServer::TYPE_TCP_ECHO, 304 net::SpawnedTestServer::TYPE_TCP_ECHO,
300 net::SpawnedTestServer::kLocalhost, 305 net::SpawnedTestServer::kLocalhost,
301 base::FilePath(FILE_PATH_LITERAL("net/data")))); 306 base::FilePath(FILE_PATH_LITERAL("net/data"))));
302 EXPECT_TRUE(test_server->Start()); 307 EXPECT_TRUE(test_server->Start());
303 308
304 net::HostPortPair host_port_pair = test_server->host_port_pair(); 309 net::HostPortPair host_port_pair = test_server->host_port_pair();
305 int port = host_port_pair.port(); 310 int port = host_port_pair.port();
306 ASSERT_TRUE(port > 0); 311 ASSERT_GT(port, 0);
307 312
308 // Test that connect() is properly resolving hostnames. 313 // Test that connect() is properly resolving hostnames.
309 host_port_pair.set_host("lOcAlHoSt"); 314 host_port_pair.set_host("lOcAlHoSt");
310 315
311 ResultCatcher catcher; 316 ResultCatcher catcher;
312 catcher.RestrictToProfile(browser()->profile()); 317 catcher.RestrictToProfile(browser()->profile());
313 318
314 ExtensionTestMessageListener listener("info_please", true); 319 ExtensionTestMessageListener listener("info_please", true);
315 320
316 LaunchTestingApp(); 321 LaunchTestingApp();
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 357
353 LaunchTestingApp(); 358 LaunchTestingApp();
354 359
355 EXPECT_TRUE(listener.WaitUntilSatisfied()); 360 EXPECT_TRUE(listener.WaitUntilSatisfied());
356 listener.Reply( 361 listener.Reply(
357 base::StringPrintf("multicast:%s:%d", kHostname.c_str(), kPort)); 362 base::StringPrintf("multicast:%s:%d", kHostname.c_str(), kPort));
358 363
359 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 364 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
360 } 365 }
361 #endif 366 #endif
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698