fake_dlp_client.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Copyright 2021 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. #ifndef CHROMEOS_DBUS_DLP_FAKE_DLP_CLIENT_H_
  5. #define CHROMEOS_DBUS_DLP_FAKE_DLP_CLIENT_H_
  6. #include <string>
  7. #include "base/containers/flat_map.h"
  8. #include "chromeos/dbus/dlp/dlp_client.h"
  9. #include "chromeos/dbus/dlp/dlp_service.pb.h"
  10. #include "dbus/object_proxy.h"
  11. #include "third_party/abseil-cpp/absl/types/optional.h"
  12. namespace chromeos {
  13. class COMPONENT_EXPORT(DLP) FakeDlpClient : public DlpClient,
  14. public DlpClient::TestInterface {
  15. public:
  16. FakeDlpClient();
  17. FakeDlpClient(const FakeDlpClient&) = delete;
  18. FakeDlpClient& operator=(const FakeDlpClient&) = delete;
  19. ~FakeDlpClient() override;
  20. // DlpClient implementation:
  21. void SetDlpFilesPolicy(const dlp::SetDlpFilesPolicyRequest request,
  22. SetDlpFilesPolicyCallback callback) override;
  23. void AddFile(const dlp::AddFileRequest request,
  24. AddFileCallback callback) override;
  25. void GetFilesSources(const dlp::GetFilesSourcesRequest request,
  26. GetFilesSourcesCallback callback) const override;
  27. void CheckFilesTransfer(const dlp::CheckFilesTransferRequest request,
  28. CheckFilesTransferCallback callback) const override;
  29. void RequestFileAccess(const dlp::RequestFileAccessRequest request,
  30. RequestFileAccessCallback callback) override;
  31. bool IsAlive() const override;
  32. DlpClient::TestInterface* GetTestInterface() override;
  33. // DlpClient::TestInterface implementation:
  34. int GetSetDlpFilesPolicyCount() const override;
  35. void SetFakeSource(const std::string& fake_source) override;
  36. void SetCheckFilesTransferResponse(
  37. dlp::CheckFilesTransferResponse response) override;
  38. void SetFileAccessAllowed(bool allowed) override;
  39. void SetIsAlive(bool is_alive) override;
  40. private:
  41. int set_dlp_files_policy_count_ = 0;
  42. bool file_access_allowed_ = true;
  43. bool is_alive_ = true;
  44. base::flat_map<ino_t, std::string> files_database_;
  45. absl::optional<std::string> fake_source_;
  46. absl::optional<dlp::CheckFilesTransferResponse>
  47. check_files_transfer_response_;
  48. };
  49. } // namespace chromeos
  50. #endif // CHROMEOS_DBUS_DLP_FAKE_DLP_CLIENT_H_