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 3 // found in the LICENSE file. 4 5 #ifndef CHROMEOS_LOGIN_AUTH_FAKE_EXTENDED_AUTHENTICATOR_H_ 6 #define CHROMEOS_LOGIN_AUTH_FAKE_EXTENDED_AUTHENTICATOR_H_ 7 8 #include "base/macros.h" 9 #include "chromeos/chromeos_export.h" 10 #include "chromeos/login/auth/extended_authenticator.h" 11 #include "chromeos/login/auth/user_context.h" 12 13 namespace chromeos { 14 15 class AuthFailure; 16 17 class CHROMEOS_EXPORT FakeExtendedAuthenticator : public ExtendedAuthenticator { 18 public: 19 FakeExtendedAuthenticator(NewAuthStatusConsumer* consumer, 20 const UserContext& expected_user_context); 21 FakeExtendedAuthenticator(AuthStatusConsumer* consumer, 22 const UserContext& expected_user_context); 23 24 // ExtendedAuthenticator: 25 virtual void SetConsumer(AuthStatusConsumer* consumer) override; 26 virtual void AuthenticateToMount( 27 const UserContext& context, 28 const ResultCallback& success_callback) override; 29 virtual void AuthenticateToCheck( 30 const UserContext& context, 31 const base::Closure& success_callback) override; 32 virtual void CreateMount(const std::string& user_id, 33 const std::vector<cryptohome::KeyDefinition>& keys, 34 const ResultCallback& success_callback) override; 35 virtual void AddKey(const UserContext& context, 36 const cryptohome::KeyDefinition& key, 37 bool replace_existing, 38 const base::Closure& success_callback) override; 39 virtual void UpdateKeyAuthorized( 40 const UserContext& context, 41 const cryptohome::KeyDefinition& key, 42 const std::string& signature, 43 const base::Closure& success_callback) override; 44 virtual void RemoveKey(const UserContext& context, 45 const std::string& key_to_remove, 46 const base::Closure& success_callback) override; 47 virtual void TransformKeyIfNeeded(const UserContext& user_context, 48 const ContextCallback& callback) override; 49 private: 50 virtual ~FakeExtendedAuthenticator(); 51 52 void OnAuthSuccess(const UserContext& context); 53 void OnAuthFailure(AuthState state, const AuthFailure& error); 54 55 NewAuthStatusConsumer* consumer_; 56 AuthStatusConsumer* old_consumer_; 57 58 UserContext expected_user_context_; 59 60 DISALLOW_COPY_AND_ASSIGN(FakeExtendedAuthenticator); 61 }; 62 63 } // namespace chromeos 64 65 #endif // CHROMEOS_LOGIN_AUTH_FAKE_EXTENDED_AUTHENTICATOR_H_ 66