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

Side by Side Diff: blimp/engine/testing/app/blimp_url_rewriter_unittest.cc

Issue 2572563006: [Blimp] Refactor Blimp test engine with embedded test server and URL rewriting (Closed)
Patch Set: nit change Created 3 years, 11 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
(Empty)
1 // Copyright (c) 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "blimp/engine/testing/app/blimp_url_rewriter.h"
6
7 #include <string>
8
9 #include "blimp/engine/app/blimp_content_browser_client.h"
10 #include "blimp/engine/common/blimp_content_client.h"
11 #include "content/public/browser/browser_url_handler.h"
12 #include "content/public/browser/content_browser_client.h"
13 #include "content/public/test/test_browser_context.h"
14 #include "net/test/embedded_test_server/embedded_test_server.h"
15 #include "testing/gtest/include/gtest/gtest.h"
16 #include "url/gurl.h"
17 #include "url/third_party/mozilla/url_parse.h"
18
19 const base::FilePath::CharType kBlimpTestRoot[] = FILE_PATH_LITERAL("");
20
21 namespace blimp {
22 namespace engine {
23
24 namespace test {
25
26 class BlimpUrlRewriterTest : public testing::Test {
27 protected:
28 void SetUp() override {
29 g_ets_instance = base::MakeUnique<net::EmbeddedTestServer>();
30 g_ets_instance->ServeFilesFromSourceDirectory(
31 base::FilePath(kBlimpTestRoot));
32 ASSERT_TRUE(g_ets_instance->Start());
33
34 content_client_ = base::MakeUnique<BlimpContentClient>();
35 content::SetContentClient(content_client_.get());
36 browser_client_ = base::MakeUnique<BlimpContentBrowserClient>();
37 content::SetBrowserClientForTesting(browser_client_.get());
38 }
39
40 void TearDown() override {
41 content::SetContentClient(NULL);
42 content_client_.reset();
43 browser_client_.reset();
44 if (g_ets_instance->Started())
45 ASSERT_TRUE(g_ets_instance->ShutdownAndWaitUntilComplete());
46 }
47
48 private:
49 std::unique_ptr<BlimpContentClient> content_client_;
50 std::unique_ptr<BlimpContentBrowserClient> browser_client_;
51 };
52
53 TEST_F(BlimpUrlRewriterTest, UrlRewriteMatchScheme) {
54 // Check that rewriting the URL with a matching scheme works.
55 content::TestBrowserContext browser_context;
56 content::BrowserURLHandler::GetInstance()->AddHandlerPair(
57 &HandleBlimpTestURL, content::BrowserURLHandler::null_handler());
58
59 GURL url("blimp-test://chrome/test/data/title2.html");
60 GURL original_url(url);
61 bool reverse_on_redirect = false;
62 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
63 &url, &browser_context, &reverse_on_redirect);
64 ASSERT_NE(original_url, url);
65 ASSERT_TRUE(url.is_valid());
66 ASSERT_TRUE(url.HostIsIPAddress());
67 ASSERT_LT(url::PORT_UNSPECIFIED, url.EffectiveIntPort());
68 }
69
70 TEST_F(BlimpUrlRewriterTest, UrlRewriteHttpHttpsScheme) {
71 // Check that rewriting the URL with a http/https url works
72 content::TestBrowserContext browser_context;
73 content::BrowserURLHandler::GetInstance()->AddHandlerPair(
74 &HandleBlimpTestURL, content::BrowserURLHandler::null_handler());
75
76 GURL url = GURL("http://www.google.com");
77 GURL original_url = GURL(url);
78 bool reverse_on_redirect = false;
79 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
80 &url, &browser_context, &reverse_on_redirect);
81 ASSERT_EQ(original_url, url);
82
83 url = GURL("https://www.google.com");
84 original_url = GURL(url);
85 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
86 &url, &browser_context, &reverse_on_redirect);
87 ASSERT_EQ(original_url, url);
88 }
89
90 TEST_F(BlimpUrlRewriterTest, UrlRewriteUnmatchScheme) {
91 // Check that rewriting the URL not works with an unmatching url.
92 content::TestBrowserContext browser_context;
93 content::BrowserURLHandler::GetInstance()->AddHandlerPair(
94 &HandleBlimpTestURL, content::BrowserURLHandler::null_handler());
95
96 GURL url = GURL("foo://chrome/test/data/title2.html");
97 GURL original_url = GURL(url);
98 bool reverse_on_redirect = false;
99 content::BrowserURLHandler::GetInstance()->RewriteURLIfNecessary(
100 &url, &browser_context, &reverse_on_redirect);
101 ASSERT_EQ(original_url, url);
102 }
103
104 } // namespace test
105
106 } // namespace engine
107 } // namespace blimp
OLDNEW
« no previous file with comments | « blimp/engine/testing/app/blimp_url_rewriter.cc ('k') | blimp/engine/testing/app/test_blimp_browser_main_parts.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698