chromium/ash/in_session_auth/mock_in_session_auth_dialog_client.h

// Copyright 2020 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef ASH_IN_SESSION_AUTH_MOCK_IN_SESSION_AUTH_DIALOG_CLIENT_H_
#define ASH_IN_SESSION_AUTH_MOCK_IN_SESSION_AUTH_DIALOG_CLIENT_H_

#include <string>

#include "ash/public/cpp/in_session_auth_dialog_client.h"
#include "ash/public/cpp/login_types.h"
#include "base/functional/callback.h"
#include "components/account_id/account_id.h"
#include "testing/gmock/include/gmock/gmock.h"

namespace ash {

class MockInSessionAuthDialogClient : public InSessionAuthDialogClient {
 public:
  MockInSessionAuthDialogClient();
  MockInSessionAuthDialogClient(const MockInSessionAuthDialogClient&) = delete;
  MockInSessionAuthDialogClient& operator=(
      const MockInSessionAuthDialogClient&) = delete;
  ~MockInSessionAuthDialogClient() override;

  // InSessionAuthDialogClient:
  MOCK_METHOD(void,
              StartAuthSession,
              (base::OnceCallback<void(bool)>),
              (override));

  MOCK_METHOD(void, InvalidateAuthSession, (), (override));

  MOCK_METHOD(void,
              AuthenticateUserWithPasswordOrPin,
              (const std::string& password,
               bool authenticated_by_pin,
               base::OnceCallback<void(bool)> callback),
              (override));

  MOCK_METHOD(bool,
              IsFingerprintAuthAvailable,
              (const AccountId& account_id),
              (override));

  MOCK_METHOD(void,
              StartFingerprintAuthSession,
              (const AccountId& account_id,
               base::OnceCallback<void(bool)> callback),
              (override));

  MOCK_METHOD(void,
              EndFingerprintAuthSession,
              (base::OnceClosure callback),
              (override));

  MOCK_METHOD(void,
              CheckPinAuthAvailability,
              (const AccountId& account_id,
               base::OnceCallback<void(bool)> callback),
              (override));

  MOCK_METHOD(void,
              AuthenticateUserWithFingerprint,
              (base::OnceCallback<void(bool, FingerprintState)> callback),
              (override));

  MOCK_METHOD(aura::Window*, OpenInSessionAuthHelpPage, (), (const override));
};

}  // namespace ash

#endif  // ASH_IN_SESSION_AUTH_MOCK_IN_SESSION_AUTH_DIALOG_CLIENT_H_