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

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

Issue 456863003: Move more Sockets browser tests into appshell tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 4 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
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/strings/stringprintf.h" 6 #include "base/strings/stringprintf.h"
7 #include "chrome/browser/extensions/extension_apitest.h" 7 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/browser/extensions/extension_function_test_utils.h"
9 #include "chrome/browser/extensions/extension_service.h" 8 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_test_message_listener.h" 9 #include "chrome/browser/extensions/extension_test_message_listener.h"
11 #include "chrome/browser/ui/browser.h" 10 #include "chrome/browser/ui/browser.h"
12 #include "chrome/common/chrome_paths.h" 11 #include "chrome/common/chrome_paths.h"
13 #include "chrome/test/base/in_process_browser_test.h" 12 #include "chrome/test/base/in_process_browser_test.h"
14 #include "chrome/test/base/ui_test_utils.h" 13 #include "chrome/test/base/ui_test_utils.h"
15 #include "extensions/browser/api/dns/host_resolver_wrapper.h" 14 #include "extensions/browser/api/dns/host_resolver_wrapper.h"
16 #include "extensions/browser/api/dns/mock_host_resolver_creator.h" 15 #include "extensions/browser/api/dns/mock_host_resolver_creator.h"
17 #include "extensions/browser/api/socket/socket_api.h" 16 #include "extensions/browser/api/socket/socket_api.h"
18 #include "net/dns/mock_host_resolver.h" 17 #include "net/dns/mock_host_resolver.h"
19 #include "net/test/spawned_test_server/spawned_test_server.h" 18 #include "net/test/spawned_test_server/spawned_test_server.h"
20 19
21 using extensions::Extension; 20 using extensions::Extension;
22 21
23 namespace utils = extension_function_test_utils;
24
25 namespace { 22 namespace {
26 23
27 const std::string kHostname = "127.0.0.1"; 24 const std::string kHostname = "127.0.0.1";
28 const int kPort = 8888; 25 const int kPort = 8888;
29 26
30 class SocketApiTest : public ExtensionApiTest { 27 class SocketApiTest : public ExtensionApiTest {
31 public: 28 public:
32 SocketApiTest() : resolver_event_(true, false), 29 SocketApiTest() : resolver_event_(true, false),
33 resolver_creator_( 30 resolver_creator_(
34 new extensions::MockHostResolverCreator()) { 31 new extensions::MockHostResolverCreator()) {
(...skipping 14 matching lines...) Expand all
49 base::WaitableEvent resolver_event_; 46 base::WaitableEvent resolver_event_;
50 47
51 // The MockHostResolver asserts that it's used on the same thread on which 48 // The MockHostResolver asserts that it's used on the same thread on which
52 // it's created, which is actually a stronger rule than its real counterpart. 49 // it's created, which is actually a stronger rule than its real counterpart.
53 // But that's fine; it's good practice. 50 // But that's fine; it's good practice.
54 scoped_refptr<extensions::MockHostResolverCreator> resolver_creator_; 51 scoped_refptr<extensions::MockHostResolverCreator> resolver_creator_;
55 }; 52 };
56 53
57 } // namespace 54 } // namespace
58 55
59 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPCreateGood) {
60 scoped_refptr<extensions::SocketCreateFunction> socket_create_function(
61 new extensions::SocketCreateFunction());
62 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
63
64 socket_create_function->set_extension(empty_extension.get());
65 socket_create_function->set_has_callback(true);
66
67 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
68 socket_create_function.get(), "[\"udp\"]", browser(), utils::NONE));
69 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType());
70 base::DictionaryValue *value =
71 static_cast<base::DictionaryValue*>(result.get());
72 int socket_id = -1;
73 EXPECT_TRUE(value->GetInteger("socketId", &socket_id));
74 EXPECT_GT(socket_id, 0);
75 }
76
77 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketTCPCreateGood) {
78 scoped_refptr<extensions::SocketCreateFunction> socket_create_function(
79 new extensions::SocketCreateFunction());
80 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
81
82 socket_create_function->set_extension(empty_extension.get());
83 socket_create_function->set_has_callback(true);
84
85 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
86 socket_create_function.get(), "[\"tcp\"]", browser(), utils::NONE));
87 ASSERT_EQ(base::Value::TYPE_DICTIONARY, result->GetType());
88 base::DictionaryValue *value =
89 static_cast<base::DictionaryValue*>(result.get());
90 int socket_id = -1;
91 EXPECT_TRUE(value->GetInteger("socketId", &socket_id));
92 ASSERT_GT(socket_id, 0);
93 }
94
95 IN_PROC_BROWSER_TEST_F(SocketApiTest, GetNetworkList) {
96 scoped_refptr<extensions::SocketGetNetworkListFunction> socket_function(
97 new extensions::SocketGetNetworkListFunction());
98 scoped_refptr<Extension> empty_extension(utils::CreateEmptyExtension());
99
100 socket_function->set_extension(empty_extension.get());
101 socket_function->set_has_callback(true);
102
103 scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
104 socket_function.get(), "[]", browser(), utils::NONE));
105 ASSERT_EQ(base::Value::TYPE_LIST, result->GetType());
106
107 // If we're invoking socket tests, all we can confirm is that we have at
108 // least one address, but not what it is.
109 base::ListValue *value = static_cast<base::ListValue*>(result.get());
110 ASSERT_GT(value->GetSize(), 0U);
111 }
112
113 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPExtension) { 56 IN_PROC_BROWSER_TEST_F(SocketApiTest, SocketUDPExtension) {
114 scoped_ptr<net::SpawnedTestServer> test_server( 57 scoped_ptr<net::SpawnedTestServer> test_server(
115 new net::SpawnedTestServer( 58 new net::SpawnedTestServer(
116 net::SpawnedTestServer::TYPE_UDP_ECHO, 59 net::SpawnedTestServer::TYPE_UDP_ECHO,
117 net::SpawnedTestServer::kLocalhost, 60 net::SpawnedTestServer::kLocalhost,
118 base::FilePath(FILE_PATH_LITERAL("net/data")))); 61 base::FilePath(FILE_PATH_LITERAL("net/data"))));
119 EXPECT_TRUE(test_server->Start()); 62 EXPECT_TRUE(test_server->Start());
120 63
121 net::HostPortPair host_port_pair = test_server->host_port_pair(); 64 net::HostPortPair host_port_pair = test_server->host_port_pair();
122 int port = host_port_pair.port(); 65 int port = host_port_pair.port();
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 ResultCatcher catcher; 139 ResultCatcher catcher;
197 catcher.RestrictToProfile(browser()->profile()); 140 catcher.RestrictToProfile(browser()->profile());
198 ExtensionTestMessageListener listener("info_please", true); 141 ExtensionTestMessageListener listener("info_please", true);
199 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api"))); 142 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("socket/api")));
200 EXPECT_TRUE(listener.WaitUntilSatisfied()); 143 EXPECT_TRUE(listener.WaitUntilSatisfied());
201 listener.Reply( 144 listener.Reply(
202 base::StringPrintf("multicast:%s:%d", kHostname.c_str(), kPort)); 145 base::StringPrintf("multicast:%s:%d", kHostname.c_str(), kPort));
203 146
204 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); 147 EXPECT_TRUE(catcher.GetNextResult()) << catcher.message();
205 } 148 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698