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

Side by Side Diff: chrome/browser/chromeos/login/saml/saml_browsertest.cc

Issue 1200393002: Add more string_util functions to base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@string
Patch Set: Android Created 5 years, 5 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 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 #include <string> 6 #include <string>
7 7
8 #include "base/bind.h" 8 #include "base/bind.h"
9 #include "base/bind_helpers.h" 9 #include "base/bind_helpers.h"
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 "Set-cookie", 248 "Set-cookie",
249 base::StringPrintf("saml=%s", cookie_value_.c_str())); 249 base::StringPrintf("saml=%s", cookie_value_.c_str()));
250 return http_response.Pass(); 250 return http_response.Pass();
251 } 251 }
252 252
253 scoped_ptr<HttpResponse> FakeSamlIdp::BuildHTMLResponse( 253 scoped_ptr<HttpResponse> FakeSamlIdp::BuildHTMLResponse(
254 const std::string& html_template, 254 const std::string& html_template,
255 const std::string& relay_state, 255 const std::string& relay_state,
256 const std::string& next_path) { 256 const std::string& next_path) {
257 std::string response_html = html_template; 257 std::string response_html = html_template;
258 ReplaceSubstringsAfterOffset(&response_html, 0, "$RelayState", relay_state); 258 base::ReplaceSubstringsAfterOffset(
259 ReplaceSubstringsAfterOffset(&response_html, 0, "$Post", next_path); 259 &response_html, 0, "$RelayState", relay_state);
260 ReplaceSubstringsAfterOffset( 260 base::ReplaceSubstringsAfterOffset(
261 &response_html, 0, "$Post", next_path);
262 base::ReplaceSubstringsAfterOffset(
261 &response_html, 0, "$Refresh", refresh_url_.spec()); 263 &response_html, 0, "$Refresh", refresh_url_.spec());
262 264
263 scoped_ptr<BasicHttpResponse> http_response(new BasicHttpResponse()); 265 scoped_ptr<BasicHttpResponse> http_response(new BasicHttpResponse());
264 http_response->set_code(net::HTTP_OK); 266 http_response->set_code(net::HTTP_OK);
265 http_response->set_content(response_html); 267 http_response->set_content(response_html);
266 http_response->set_content_type("text/html"); 268 http_response->set_content_type("text/html");
267 269
268 return http_response.Pass(); 270 return http_response.Pass();
269 } 271 }
270 272
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
368 370
369 std::string message; 371 std::string message;
370 ASSERT_TRUE(message_queue.WaitForMessage(&message)); 372 ASSERT_TRUE(message_queue.WaitForMessage(&message));
371 EXPECT_EQ("\"SamlLoaded\"", message); 373 EXPECT_EQ("\"SamlLoaded\"", message);
372 } 374 }
373 375
374 void SendConfirmPassword(const std::string& password_to_confirm) { 376 void SendConfirmPassword(const std::string& password_to_confirm) {
375 std::string js = 377 std::string js =
376 "$('confirm-password-input').value='$Password';" 378 "$('confirm-password-input').value='$Password';"
377 "$('confirm-password').onConfirmPassword_();"; 379 "$('confirm-password').onConfirmPassword_();";
378 ReplaceSubstringsAfterOffset(&js, 0, "$Password", password_to_confirm); 380 base::ReplaceSubstringsAfterOffset(
381 &js, 0, "$Password", password_to_confirm);
379 ASSERT_TRUE(content::ExecuteScript(GetLoginUI()->GetWebContents(), js)); 382 ASSERT_TRUE(content::ExecuteScript(GetLoginUI()->GetWebContents(), js));
380 } 383 }
381 384
382 std::string WaitForAndGetFatalErrorMessage() { 385 std::string WaitForAndGetFatalErrorMessage() {
383 OobeScreenWaiter(OobeDisplay::SCREEN_FATAL_ERROR).Wait(); 386 OobeScreenWaiter(OobeDisplay::SCREEN_FATAL_ERROR).Wait();
384 std::string error_message; 387 std::string error_message;
385 if (!content::ExecuteScriptAndExtractString( 388 if (!content::ExecuteScriptAndExtractString(
386 GetLoginUI()->GetWebContents(), 389 GetLoginUI()->GetWebContents(),
387 "window.domAutomationController.send(" 390 "window.domAutomationController.send("
388 "$('fatal-error-message').textContent);", 391 "$('fatal-error-message').textContent);",
(...skipping 26 matching lines...) Expand all
415 // visible when SAML IdP page is loaded. And 'cancel' button goes back to 418 // visible when SAML IdP page is loaded. And 'cancel' button goes back to
416 // gaia on clicking. 419 // gaia on clicking.
417 IN_PROC_BROWSER_TEST_P(SamlTest, SamlUI) { 420 IN_PROC_BROWSER_TEST_P(SamlTest, SamlUI) {
418 fake_saml_idp()->SetLoginHTMLTemplate("saml_login.html"); 421 fake_saml_idp()->SetLoginHTMLTemplate("saml_login.html");
419 StartSamlAndWaitForIdpPageLoad(kFirstSAMLUserEmail); 422 StartSamlAndWaitForIdpPageLoad(kFirstSAMLUserEmail);
420 423
421 // Saml flow UI expectations. 424 // Saml flow UI expectations.
422 JsExpect("$('gaia-signin').classList.contains('full-width')"); 425 JsExpect("$('gaia-signin').classList.contains('full-width')");
423 JsExpect("!$('saml-notice-container').hidden"); 426 JsExpect("!$('saml-notice-container').hidden");
424 std::string js = "$('saml-notice-message').textContent.indexOf('$Host') > -1"; 427 std::string js = "$('saml-notice-message').textContent.indexOf('$Host') > -1";
425 ReplaceSubstringsAfterOffset(&js, 0, "$Host", kIdPHost); 428 base::ReplaceSubstringsAfterOffset(&js, 0, "$Host", kIdPHost);
426 JsExpect(js); 429 JsExpect(js);
427 if (!use_webview()) { 430 if (!use_webview()) {
428 JsExpect("!$('cancel-add-user-button').hidden"); 431 JsExpect("!$('cancel-add-user-button').hidden");
429 } 432 }
430 433
431 SetupAuthFlowChangeListener(); 434 SetupAuthFlowChangeListener();
432 435
433 // Click on 'cancel'. 436 // Click on 'cancel'.
434 content::DOMMessageQueue message_queue; // Observe before 'cancel'. 437 content::DOMMessageQueue message_queue; // Observe before 'cancel'.
435 if (use_webview()) { 438 if (use_webview()) {
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 " 'authDomainChange'," 681 " 'authDomainChange',"
679 " processEventsAndSendIfHostFound);" 682 " processEventsAndSendIfHostFound);"
680 " }" 683 " }"
681 " }, 0);" 684 " }, 0);"
682 "};" 685 "};"
683 "if (!sendIfHostFound()) {" 686 "if (!sendIfHostFound()) {"
684 " $('gaia-signin').gaiaAuthHost_.addEventListener(" 687 " $('gaia-signin').gaiaAuthHost_.addEventListener("
685 " 'authDomainChange'," 688 " 'authDomainChange',"
686 " processEventsAndSendIfHostFound);" 689 " processEventsAndSendIfHostFound);"
687 "}"; 690 "}";
688 ReplaceSubstringsAfterOffset(&js, 0, "$Host", kAdditionalIdPHost); 691 base::ReplaceSubstringsAfterOffset(&js, 0, "$Host", kAdditionalIdPHost);
689 bool dummy; 692 bool dummy;
690 EXPECT_TRUE(content::ExecuteScriptAndExtractBool( 693 EXPECT_TRUE(content::ExecuteScriptAndExtractBool(
691 GetLoginUI()->GetWebContents(), js, &dummy)); 694 GetLoginUI()->GetWebContents(), js, &dummy));
692 695
693 // Verify that the notice is visible. 696 // Verify that the notice is visible.
694 JsExpect("!$('saml-notice-container').hidden"); 697 JsExpect("!$('saml-notice-container').hidden");
695 } 698 }
696 699
697 // Verifies that when GAIA attempts to redirect to a SAML IdP served over http, 700 // Verifies that when GAIA attempts to redirect to a SAML IdP served over http,
698 // not https, the redirect is blocked and an error message is shown. 701 // not https, the redirect is blocked and an error message is shown.
(...skipping 525 matching lines...) Expand 10 before | Expand all | Expand 10 after
1224 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName)); 1227 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName));
1225 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName)); 1228 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName));
1226 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName)); 1229 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName));
1227 } 1230 }
1228 1231
1229 INSTANTIATE_TEST_CASE_P(SamlSuite, 1232 INSTANTIATE_TEST_CASE_P(SamlSuite,
1230 SAMLPolicyTest, 1233 SAMLPolicyTest,
1231 testing::Bool()); 1234 testing::Bool());
1232 1235
1233 } // namespace chromeos 1236 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/login_browsertest.cc ('k') | chrome/browser/chromeos/login/test/oobe_base_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698