15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/chromeos/login/test_attempt_state.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <string>
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "google_apis/gaia/gaia_auth_consumer.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromeos {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
13c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TestAttemptState::TestAttemptState(const UserContext& credentials,
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const std::string& ascii_hash,
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const std::string& login_token,
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const std::string& login_captcha,
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                                   const User::UserType user_type,
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const bool user_is_new)
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : AuthAttemptState(credentials,
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       ascii_hash,
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       login_token,
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       login_captcha,
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                       user_type,
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       user_is_new) {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestAttemptState::TestAttemptState(const std::string& username,
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const std::string& ascii_hash)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    : AuthAttemptState(username, ascii_hash) {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestAttemptState::~TestAttemptState() {}
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestAttemptState::PresetOnlineLoginStatus(
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    const LoginFailure& outcome) {
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  online_complete_ = true;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  online_outcome_ = outcome;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestAttemptState::DisableHosted() {
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  hosted_policy_ = GaiaAuthFetcher::HostedAccountsNotAllowed;
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestAttemptState::PresetCryptohomeStatus(
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    bool cryptohome_outcome,
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    cryptohome::MountError cryptohome_code) {
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_complete_ = true;
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_outcome_ = cryptohome_outcome;
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_code_ = cryptohome_code;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::online_complete() {
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return online_complete_;
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const LoginFailure& TestAttemptState::online_outcome() {
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return online_outcome_;
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::is_first_time_user() {
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return is_first_time_user_;
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GaiaAuthFetcher::HostedAccountsSetting TestAttemptState::hosted_policy() {
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return hosted_policy_;
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::cryptohome_complete() {
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_complete_;
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::cryptohome_outcome() {
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_outcome_;
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cryptohome::MountError TestAttemptState::cryptohome_code() {
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_code_;
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chromeos
81