Home | History | Annotate | Download | only in auth
      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