1cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)// Copyright 2014 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)
55f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)#include "chromeos/login/auth/test_attempt_state.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "components/user_manager/user_type.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "google_apis/gaia/gaia_auth_consumer.h"
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace chromeos {
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
12c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)TestAttemptState::TestAttemptState(const UserContext& credentials,
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                                   const bool user_is_new)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    : AuthAttemptState(credentials,
15116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch                       user_manager::USER_TYPE_REGULAR,
16cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                       false,  // unlock
17cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)                       false,  // online_complete
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       user_is_new) {
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
215f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)TestAttemptState::~TestAttemptState() {
225f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)}
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
24116680a4aac90f2aa7413d9095a592090648e557Ben Murdochvoid TestAttemptState::PresetOnlineLoginStatus(const AuthFailure& outcome) {
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  online_complete_ = true;
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  online_outcome_ = outcome;
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestAttemptState::DisableHosted() {
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  hosted_policy_ = GaiaAuthFetcher::HostedAccountsNotAllowed;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestAttemptState::PresetCryptohomeStatus(
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    bool cryptohome_outcome,
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    cryptohome::MountError cryptohome_code) {
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_complete_ = true;
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_outcome_ = cryptohome_outcome;
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cryptohome_code_ = cryptohome_code;
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::online_complete() {
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return online_complete_;
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
45116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst AuthFailure& TestAttemptState::online_outcome() {
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return online_outcome_;
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::is_first_time_user() {
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return is_first_time_user_;
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)GaiaAuthFetcher::HostedAccountsSetting TestAttemptState::hosted_policy() {
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return hosted_policy_;
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::cryptohome_complete() {
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_complete_;
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestAttemptState::cryptohome_outcome() {
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_outcome_;
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)cryptohome::MountError TestAttemptState::cryptohome_code() {
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return cryptohome_code_;
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace chromeos
70