Index: chrome/browser/policy/policy_network_browsertest.cc |
diff --git a/chrome/browser/policy/policy_network_browsertest.cc b/chrome/browser/policy/policy_network_browsertest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..c6c9b21fca37f1d6228e2cd863a662ca440771cc |
--- /dev/null |
+++ b/chrome/browser/policy/policy_network_browsertest.cc |
@@ -0,0 +1,71 @@ |
+// Copyright (c) 2015 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/bind.h" |
+#include "base/command_line.h" |
+#include "base/memory/ref_counted.h" |
+#include "base/run_loop.h" |
+#include "chrome/browser/browser_process.h" |
+#include "chrome/test/base/in_process_browser_test.h" |
+#include "components/policy/core/browser/browser_policy_connector.h" |
+#include "components/policy/core/common/mock_configuration_policy_provider.h" |
+#include "components/policy/core/common/policy_map.h" |
+#include "content/public/browser/browser_thread.h" |
+#include "content/public/test/browser_test.h" |
+#include "net/http/http_transaction_factory.h" |
+#include "net/url_request/url_request_context.h" |
+#include "net/url_request/url_request_context_getter.h" |
+#include "policy/policy_constants.h" |
+ |
+namespace { |
+ |
+void getContext(net::URLRequestContextGetter* getter, |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
nit: getContext->GetContext
peletskyi
2015/04/09 09:43:33
Done.
|
+ const base::Closure& done_callback) { |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
Should be indented to match the open paren above.
peletskyi
2015/04/09 09:43:33
Done.
|
+ net::URLRequestContext* context = getter->GetURLRequestContext(); |
+ bool quic_enabled = context->http_transaction_factory()->GetSession()-> |
+ params().enable_quic; |
+ EXPECT_FALSE(quic_enabled); |
+ |
+ content::BrowserThread::PostTask(content::BrowserThread::UI, FROM_HERE, |
+ done_callback); |
+} |
+ |
+} // namespace |
+ |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
Should probably put this stuff in namespace policy
peletskyi
2015/04/09 09:43:33
Done.
|
+class QuicAllowedPolicyTest: public InProcessBrowserTest { |
+public: |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
indent this
peletskyi
2015/04/09 09:43:33
Done.
|
+ QuicAllowedPolicyTest() : InProcessBrowserTest(){} |
+ protected: |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
blank line before protected:
peletskyi
2015/04/09 09:43:33
Done.
|
+ void SetUpInProcessBrowserTestFixture() override { |
+ base::CommandLine::ForCurrentProcess()->AppendSwitch("enable-quic"); |
+ EXPECT_CALL(provider_, IsInitializationComplete(testing::_)) |
+ .WillRepeatedly(testing::Return(true)); |
+ |
+ policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_); |
+ |
+ policy::PolicyMap values; |
+ values.Set(policy::key::kQuicAllowed, |
+ policy::POLICY_LEVEL_MANDATORY, |
+ policy::POLICY_SCOPE_MACHINE, |
+ new base::FundamentalValue(false), |
+ NULL); |
+ provider_.UpdateChromePolicy(values); |
+ |
+ } |
+ |
+ private: |
+ policy::MockConfigurationPolicyProvider provider_; |
+ DISALLOW_COPY_AND_ASSIGN(QuicAllowedPolicyTest); |
+}; |
+ |
+IN_PROC_BROWSER_TEST_F(QuicAllowedPolicyTest, QuicDisabled) { |
+ base::RunLoop run_loop; |
+ content::BrowserThread::PostTask( |
+ content::BrowserThread::IO, |
+ FROM_HERE, |
+ base::Bind(getContext, |
Andrew T Wilson (Slow)
2015/04/09 09:02:04
Maybe rename getContext to VerifyQuicEnabledStatus
peletskyi
2015/04/09 09:43:33
Rename - done.
About three tests. I think it is be
Andrew T Wilson (Slow)
2015/04/09 12:13:15
OK, let's imagine someone goes into io_thread.cc l
peletskyi
2015/04/10 08:26:33
Acknowledged.
|
+ make_scoped_refptr(g_browser_process->system_request_context()), |
+ run_loop.QuitClosure())); |
+ run_loop.Run(); |
+} |