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

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

Issue 1306183007: Switch to id-based affiliation determination (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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 13 matching lines...) Expand all
24 #include "base/strings/utf_string_conversions.h" 24 #include "base/strings/utf_string_conversions.h"
25 #include "base/values.h" 25 #include "base/values.h"
26 #include "chrome/browser/chrome_notification_types.h" 26 #include "chrome/browser/chrome_notification_types.h"
27 #include "chrome/browser/chromeos/login/existing_user_controller.h" 27 #include "chrome/browser/chromeos/login/existing_user_controller.h"
28 #include "chrome/browser/chromeos/login/startup_utils.h" 28 #include "chrome/browser/chromeos/login/startup_utils.h"
29 #include "chrome/browser/chromeos/login/test/https_forwarder.h" 29 #include "chrome/browser/chromeos/login/test/https_forwarder.h"
30 #include "chrome/browser/chromeos/login/test/oobe_base_test.h" 30 #include "chrome/browser/chromeos/login/test/oobe_base_test.h"
31 #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h" 31 #include "chrome/browser/chromeos/login/test/oobe_screen_waiter.h"
32 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h" 32 #include "chrome/browser/chromeos/login/ui/login_display_host_impl.h"
33 #include "chrome/browser/chromeos/login/ui/webui_login_display.h" 33 #include "chrome/browser/chromeos/login/ui/webui_login_display.h"
34 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
34 #include "chrome/browser/chromeos/login/wizard_controller.h" 35 #include "chrome/browser/chromeos/login/wizard_controller.h"
36 #include "chrome/browser/chromeos/policy/affiliation_test_helper.h"
35 #include "chrome/browser/chromeos/policy/device_policy_builder.h" 37 #include "chrome/browser/chromeos/policy/device_policy_builder.h"
36 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h" 38 #include "chrome/browser/chromeos/policy/device_policy_cros_browser_test.h"
37 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h" 39 #include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
38 #include "chrome/browser/chromeos/profiles/profile_helper.h" 40 #include "chrome/browser/chromeos/profiles/profile_helper.h"
39 #include "chrome/browser/chromeos/settings/cros_settings.h" 41 #include "chrome/browser/chromeos/settings/cros_settings.h"
40 #include "chrome/browser/policy/test/local_policy_test_server.h" 42 #include "chrome/browser/policy/test/local_policy_test_server.h"
41 #include "chrome/browser/profiles/profile.h" 43 #include "chrome/browser/profiles/profile.h"
42 #include "chrome/browser/ui/webui/signin/inline_login_ui.h" 44 #include "chrome/browser/ui/webui/signin/inline_login_ui.h"
43 #include "chrome/common/chrome_constants.h" 45 #include "chrome/common/chrome_constants.h"
44 #include "chrome/common/chrome_paths.h" 46 #include "chrome/common/chrome_paths.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 const char kSAMLIdPCookieName[] = "saml"; 128 const char kSAMLIdPCookieName[] = "saml";
127 const char kSAMLIdPCookieValue1[] = "value-1"; 129 const char kSAMLIdPCookieValue1[] = "value-1";
128 const char kSAMLIdPCookieValue2[] = "value-2"; 130 const char kSAMLIdPCookieValue2[] = "value-2";
129 131
130 const char kRelayState[] = "RelayState"; 132 const char kRelayState[] = "RelayState";
131 133
132 const char kTestUserinfoToken[] = "fake-userinfo-token"; 134 const char kTestUserinfoToken[] = "fake-userinfo-token";
133 const char kTestRefreshToken[] = "fake-refresh-token"; 135 const char kTestRefreshToken[] = "fake-refresh-token";
134 const char kPolicy[] = "{\"managed_users\": [\"*\"]}"; 136 const char kPolicy[] = "{\"managed_users\": [\"*\"]}";
135 137
138 const char kAffiliationID[] = "some-affiliation-id";
139
136 // FakeSamlIdp serves IdP auth form and the form submission. The form is 140 // FakeSamlIdp serves IdP auth form and the form submission. The form is
137 // served with the template's RelayState placeholder expanded to the real 141 // served with the template's RelayState placeholder expanded to the real
138 // RelayState parameter from request. The form submission redirects back to 142 // RelayState parameter from request. The form submission redirects back to
139 // FakeGaia with the same RelayState. 143 // FakeGaia with the same RelayState.
140 class FakeSamlIdp { 144 class FakeSamlIdp {
141 public: 145 public:
142 FakeSamlIdp(); 146 FakeSamlIdp();
143 ~FakeSamlIdp(); 147 ~FakeSamlIdp();
144 148
145 void SetUp(const std::string& base_path, const GURL& gaia_url); 149 void SetUp(const std::string& base_path, const GURL& gaia_url);
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after
944 SAMLPolicyTest::~SAMLPolicyTest() { 948 SAMLPolicyTest::~SAMLPolicyTest() {
945 } 949 }
946 950
947 void SAMLPolicyTest::SetUpInProcessBrowserTestFixture() { 951 void SAMLPolicyTest::SetUpInProcessBrowserTestFixture() {
948 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient( 952 DBusThreadManager::GetSetterForTesting()->SetSessionManagerClient(
949 scoped_ptr<SessionManagerClient>(fake_session_manager_client_)); 953 scoped_ptr<SessionManagerClient>(fake_session_manager_client_));
950 954
951 SamlTest::SetUpInProcessBrowserTestFixture(); 955 SamlTest::SetUpInProcessBrowserTestFixture();
952 956
953 // Initialize device policy. 957 // Initialize device policy.
954 test_helper_.InstallOwnerKey(); 958 std::set<std::string> device_affiliation_ids;
955 test_helper_.MarkAsEnterpriseOwned(); 959 device_affiliation_ids.insert(kAffiliationID);
956 device_policy_->SetDefaultSigningKey(); 960 policy::affiliation_test_helper::SetDeviceAffiliationID(
957 device_policy_->Build(); 961 &test_helper_, fake_session_manager_client_, device_affiliation_ids);
958 fake_session_manager_client_->set_device_policy(device_policy_->GetBlob());
959 fake_session_manager_client_->OnPropertyChangeComplete(true);
960 962
961 // Initialize user policy. 963 // Initialize user policy.
962 EXPECT_CALL(provider_, IsInitializationComplete(_)) 964 EXPECT_CALL(provider_, IsInitializationComplete(_))
963 .WillRepeatedly(Return(true)); 965 .WillRepeatedly(Return(true));
964 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_); 966 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
965 } 967 }
966 968
967 void SAMLPolicyTest::SetUpOnMainThread() { 969 void SAMLPolicyTest::SetUpOnMainThread() {
968 SamlTest::SetUpOnMainThread(); 970 SamlTest::SetUpOnMainThread();
969 971
970 // Pretend that the test users' OAuth tokens are valid. 972 // Pretend that the test users' OAuth tokens are valid.
971 user_manager::UserManager::Get()->SaveUserOAuthStatus( 973 user_manager::UserManager::Get()->SaveUserOAuthStatus(
972 AccountId::FromUserEmail(kFirstSAMLUserEmail), 974 AccountId::FromUserEmail(kFirstSAMLUserEmail),
973 user_manager::User::OAUTH2_TOKEN_STATUS_VALID); 975 user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
974 user_manager::UserManager::Get()->SaveUserOAuthStatus( 976 user_manager::UserManager::Get()->SaveUserOAuthStatus(
975 AccountId::FromUserEmail(kNonSAMLUserEmail), 977 AccountId::FromUserEmail(kNonSAMLUserEmail),
976 user_manager::User::OAUTH2_TOKEN_STATUS_VALID); 978 user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
977 user_manager::UserManager::Get()->SaveUserOAuthStatus( 979 user_manager::UserManager::Get()->SaveUserOAuthStatus(
978 AccountId::FromUserEmail(kDifferentDomainSAMLUserEmail), 980 AccountId::FromUserEmail(kDifferentDomainSAMLUserEmail),
979 user_manager::User::OAUTH2_TOKEN_STATUS_VALID); 981 user_manager::User::OAUTH2_TOKEN_STATUS_VALID);
980 982
983 // Give affiliated users appropriate affiliation IDs.
984 std::set<std::string> user_affiliation_ids;
985 user_affiliation_ids.insert(kAffiliationID);
986 chromeos::ChromeUserManager::Get()->SetUserAffiliation(kFirstSAMLUserEmail,
987 user_affiliation_ids);
988 chromeos::ChromeUserManager::Get()->SetUserAffiliation(kSecondSAMLUserEmail,
989 user_affiliation_ids);
990 chromeos::ChromeUserManager::Get()->SetUserAffiliation(kHTTPSAMLUserEmail,
991 user_affiliation_ids);
992 chromeos::ChromeUserManager::Get()->SetUserAffiliation(kNonSAMLUserEmail,
993 user_affiliation_ids);
994
981 // Set up fake networks. 995 // Set up fake networks.
982 DBusThreadManager::Get() 996 DBusThreadManager::Get()
983 ->GetShillManagerClient() 997 ->GetShillManagerClient()
984 ->GetTestInterface() 998 ->GetTestInterface()
985 ->SetupDefaultEnvironment(); 999 ->SetupDefaultEnvironment();
986 } 1000 }
987 1001
988 void SAMLPolicyTest::SetSAMLOfflineSigninTimeLimitPolicy(int limit) { 1002 void SAMLPolicyTest::SetSAMLOfflineSigninTimeLimitPolicy(int limit) {
989 policy::PolicyMap user_policy; 1003 policy::PolicyMap user_policy;
990 user_policy.Set(policy::key::kSAMLOfflineSigninTimeLimit, 1004 user_policy.Set(policy::key::kSAMLOfflineSigninTimeLimit,
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after
1222 kTestAuthLSIDCookie1); 1236 kTestAuthLSIDCookie1);
1223 1237
1224 GetCookies(); 1238 GetCookies();
1225 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName)); 1239 EXPECT_EQ(kTestAuthSIDCookie1, GetCookieValue(kGAIASIDCookieName));
1226 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName)); 1240 EXPECT_EQ(kTestAuthLSIDCookie1, GetCookieValue(kGAIALSIDCookieName));
1227 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName)); 1241 EXPECT_EQ(kSAMLIdPCookieValue1, GetCookieValue(kSAMLIdPCookieName));
1228 } 1242 }
1229 1243
1230 1244
1231 } // namespace chromeos 1245 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698