OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <cstring> | 5 #include <cstring> |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/bind_helpers.h" | 8 #include "base/bind_helpers.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 http_response->set_content_type("text/html"); | 250 http_response->set_content_type("text/html"); |
251 | 251 |
252 return http_response.Pass(); | 252 return http_response.Pass(); |
253 } | 253 } |
254 | 254 |
255 } // namespace | 255 } // namespace |
256 | 256 |
257 class SamlTest : public InProcessBrowserTest { | 257 class SamlTest : public InProcessBrowserTest { |
258 public: | 258 public: |
259 SamlTest() : gaia_frame_parent_("signin-frame"), saml_load_injected_(false) {} | 259 SamlTest() : gaia_frame_parent_("signin-frame"), saml_load_injected_(false) {} |
260 virtual ~SamlTest() {} | 260 ~SamlTest() override {} |
261 | 261 |
262 virtual void SetUp() override { | 262 void SetUp() override { |
263 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); | 263 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); |
264 | 264 |
265 // Start the GAIA https wrapper here so that the GAIA URLs can be pointed at | 265 // Start the GAIA https wrapper here so that the GAIA URLs can be pointed at |
266 // it in SetUpCommandLine(). | 266 // it in SetUpCommandLine(). |
267 gaia_https_forwarder_.reset( | 267 gaia_https_forwarder_.reset( |
268 new HTTPSForwarder(embedded_test_server()->base_url())); | 268 new HTTPSForwarder(embedded_test_server()->base_url())); |
269 ASSERT_TRUE(gaia_https_forwarder_->Start()); | 269 ASSERT_TRUE(gaia_https_forwarder_->Start()); |
270 | 270 |
271 // Start the SAML IdP https wrapper here so that GAIA can be pointed at it | 271 // Start the SAML IdP https wrapper here so that GAIA can be pointed at it |
272 // in SetUpCommandLine(). | 272 // in SetUpCommandLine(). |
273 saml_https_forwarder_.reset( | 273 saml_https_forwarder_.reset( |
274 new HTTPSForwarder(embedded_test_server()->base_url())); | 274 new HTTPSForwarder(embedded_test_server()->base_url())); |
275 ASSERT_TRUE(saml_https_forwarder_->Start()); | 275 ASSERT_TRUE(saml_https_forwarder_->Start()); |
276 | 276 |
277 // Stop IO thread here because no threads are allowed while | 277 // Stop IO thread here because no threads are allowed while |
278 // spawning sandbox host process. See crbug.com/322732. | 278 // spawning sandbox host process. See crbug.com/322732. |
279 embedded_test_server()->StopThread(); | 279 embedded_test_server()->StopThread(); |
280 | 280 |
281 InProcessBrowserTest::SetUp(); | 281 InProcessBrowserTest::SetUp(); |
282 } | 282 } |
283 | 283 |
284 virtual void SetUpInProcessBrowserTestFixture() override { | 284 void SetUpInProcessBrowserTestFixture() override { |
285 host_resolver()->AddRule("*", "127.0.0.1"); | 285 host_resolver()->AddRule("*", "127.0.0.1"); |
286 } | 286 } |
287 | 287 |
288 virtual void SetUpCommandLine(base::CommandLine* command_line) override { | 288 void SetUpCommandLine(base::CommandLine* command_line) override { |
289 command_line->AppendSwitch(switches::kLoginManager); | 289 command_line->AppendSwitch(switches::kLoginManager); |
290 command_line->AppendSwitch(switches::kForceLoginManagerInTests); | 290 command_line->AppendSwitch(switches::kForceLoginManagerInTests); |
291 command_line->AppendSwitch(::switches::kDisableBackgroundNetworking); | 291 command_line->AppendSwitch(::switches::kDisableBackgroundNetworking); |
292 command_line->AppendSwitchASCII(switches::kLoginProfile, "user"); | 292 command_line->AppendSwitchASCII(switches::kLoginProfile, "user"); |
293 | 293 |
294 const GURL gaia_url = gaia_https_forwarder_->GetURL(""); | 294 const GURL gaia_url = gaia_https_forwarder_->GetURL(""); |
295 command_line->AppendSwitchASCII(::switches::kGaiaUrl, gaia_url.spec()); | 295 command_line->AppendSwitchASCII(::switches::kGaiaUrl, gaia_url.spec()); |
296 command_line->AppendSwitchASCII(::switches::kLsoUrl, gaia_url.spec()); | 296 command_line->AppendSwitchASCII(::switches::kLsoUrl, gaia_url.spec()); |
297 command_line->AppendSwitchASCII(::switches::kGoogleApisUrl, | 297 command_line->AppendSwitchASCII(::switches::kGoogleApisUrl, |
298 gaia_url.spec()); | 298 gaia_url.spec()); |
299 | 299 |
300 const GURL saml_idp_url = saml_https_forwarder_->GetURL("SAML"); | 300 const GURL saml_idp_url = saml_https_forwarder_->GetURL("SAML"); |
301 fake_saml_idp_.SetUp(saml_idp_url.path(), gaia_url); | 301 fake_saml_idp_.SetUp(saml_idp_url.path(), gaia_url); |
302 fake_gaia_.RegisterSamlUser(kFirstSAMLUserEmail, saml_idp_url); | 302 fake_gaia_.RegisterSamlUser(kFirstSAMLUserEmail, saml_idp_url); |
303 fake_gaia_.RegisterSamlUser(kSecondSAMLUserEmail, saml_idp_url); | 303 fake_gaia_.RegisterSamlUser(kSecondSAMLUserEmail, saml_idp_url); |
304 fake_gaia_.RegisterSamlUser( | 304 fake_gaia_.RegisterSamlUser( |
305 kHTTPSAMLUserEmail, | 305 kHTTPSAMLUserEmail, |
306 embedded_test_server()->base_url().Resolve("/SAML")); | 306 embedded_test_server()->base_url().Resolve("/SAML")); |
307 fake_gaia_.RegisterSamlUser(kDifferentDomainSAMLUserEmail, saml_idp_url); | 307 fake_gaia_.RegisterSamlUser(kDifferentDomainSAMLUserEmail, saml_idp_url); |
308 | 308 |
309 fake_gaia_.Initialize(); | 309 fake_gaia_.Initialize(); |
310 } | 310 } |
311 | 311 |
312 virtual void SetUpOnMainThread() override { | 312 void SetUpOnMainThread() override { |
313 fake_gaia_.SetFakeMergeSessionParams(kFirstSAMLUserEmail, | 313 fake_gaia_.SetFakeMergeSessionParams(kFirstSAMLUserEmail, |
314 kTestAuthSIDCookie1, | 314 kTestAuthSIDCookie1, |
315 kTestAuthLSIDCookie1); | 315 kTestAuthLSIDCookie1); |
316 | 316 |
317 embedded_test_server()->RegisterRequestHandler( | 317 embedded_test_server()->RegisterRequestHandler( |
318 base::Bind(&FakeGaia::HandleRequest, base::Unretained(&fake_gaia_))); | 318 base::Bind(&FakeGaia::HandleRequest, base::Unretained(&fake_gaia_))); |
319 embedded_test_server()->RegisterRequestHandler(base::Bind( | 319 embedded_test_server()->RegisterRequestHandler(base::Bind( |
320 &FakeSamlIdp::HandleRequest, base::Unretained(&fake_saml_idp_))); | 320 &FakeSamlIdp::HandleRequest, base::Unretained(&fake_saml_idp_))); |
321 | 321 |
322 // Restart the thread as the sandbox host process has already been spawned. | 322 // Restart the thread as the sandbox host process has already been spawned. |
323 embedded_test_server()->RestartThreadAndListen(); | 323 embedded_test_server()->RestartThreadAndListen(); |
324 | 324 |
325 login_screen_load_observer_.reset(new content::WindowedNotificationObserver( | 325 login_screen_load_observer_.reset(new content::WindowedNotificationObserver( |
326 chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, | 326 chrome::NOTIFICATION_LOGIN_OR_LOCK_WEBUI_VISIBLE, |
327 content::NotificationService::AllSources())); | 327 content::NotificationService::AllSources())); |
328 } | 328 } |
329 | 329 |
330 virtual void TearDownOnMainThread() override { | 330 void TearDownOnMainThread() override { |
331 // If the login display is still showing, exit gracefully. | 331 // If the login display is still showing, exit gracefully. |
332 if (LoginDisplayHostImpl::default_host()) { | 332 if (LoginDisplayHostImpl::default_host()) { |
333 base::MessageLoop::current()->PostTask(FROM_HERE, | 333 base::MessageLoop::current()->PostTask(FROM_HERE, |
334 base::Bind(&chrome::AttemptExit)); | 334 base::Bind(&chrome::AttemptExit)); |
335 content::RunMessageLoop(); | 335 content::RunMessageLoop(); |
336 } | 336 } |
337 } | 337 } |
338 | 338 |
339 WebUILoginDisplay* GetLoginDisplay() { | 339 WebUILoginDisplay* GetLoginDisplay() { |
340 ExistingUserController* controller = | 340 ExistingUserController* controller = |
(...skipping 508 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 SetSignFormField("Email", "fake_user"); | 849 SetSignFormField("Email", "fake_user"); |
850 SetSignFormField("Password", "fake_password"); | 850 SetSignFormField("Password", "fake_password"); |
851 ExecuteJsInSigninFrame("document.getElementById('Submit').click();"); | 851 ExecuteJsInSigninFrame("document.getElementById('Submit').click();"); |
852 | 852 |
853 WaitForEnrollmentSuccess(); | 853 WaitForEnrollmentSuccess(); |
854 } | 854 } |
855 | 855 |
856 class SAMLPolicyTest : public SamlTest { | 856 class SAMLPolicyTest : public SamlTest { |
857 public: | 857 public: |
858 SAMLPolicyTest(); | 858 SAMLPolicyTest(); |
859 virtual ~SAMLPolicyTest(); | 859 ~SAMLPolicyTest() override; |
860 | 860 |
861 // SamlTest: | 861 // SamlTest: |
862 virtual void SetUpInProcessBrowserTestFixture() override; | 862 void SetUpInProcessBrowserTestFixture() override; |
863 virtual void SetUpOnMainThread() override; | 863 void SetUpOnMainThread() override; |
864 | 864 |
865 void SetSAMLOfflineSigninTimeLimitPolicy(int limit); | 865 void SetSAMLOfflineSigninTimeLimitPolicy(int limit); |
866 void EnableTransferSAMLCookiesPolicy(); | 866 void EnableTransferSAMLCookiesPolicy(); |
867 | 867 |
868 void ShowGAIALoginForm(); | 868 void ShowGAIALoginForm(); |
869 void LogInWithSAML(const std::string& user_id, | 869 void LogInWithSAML(const std::string& user_id, |
870 const std::string& auth_sid_cookie, | 870 const std::string& auth_sid_cookie, |
871 const std::string& auth_lsid_cookie); | 871 const std::string& auth_lsid_cookie); |
872 | 872 |
873 std::string GetCookieValue(const std::string& name); | 873 std::string GetCookieValue(const std::string& name); |
(...skipping 293 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1167 kTestAuthSIDCookie1, | 1167 kTestAuthSIDCookie1, |
1168 kTestAuthLSIDCookie1); | 1168 kTestAuthLSIDCookie1); |
1169 | 1169 |
1170 GetCookies(); | 1170 GetCookies(); |
1171 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName)); | 1171 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName)); |
1172 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName)); | 1172 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName)); |
1173 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName)); | 1173 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName)); |
1174 } | 1174 } |
1175 | 1175 |
1176 } // namespace chromeos | 1176 } // namespace chromeos |
OLD | NEW |