stub_offline_page_model.h 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // Copyright 2016 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 COMPONENTS_OFFLINE_PAGES_CORE_STUB_OFFLINE_PAGE_MODEL_H_
  5. #define COMPONENTS_OFFLINE_PAGES_CORE_STUB_OFFLINE_PAGE_MODEL_H_
  6. #include <memory>
  7. #include <set>
  8. #include <string>
  9. #include <vector>
  10. #include "components/offline_pages/core/offline_page_model.h"
  11. namespace offline_pages {
  12. // Stub implementation of OfflinePageModel interface for testing. Besides using
  13. // as a stub for tests, it may also be subclassed to mock specific methods
  14. // needed for a set of tests.
  15. class StubOfflinePageModel : public OfflinePageModel {
  16. public:
  17. StubOfflinePageModel();
  18. ~StubOfflinePageModel() override;
  19. void SetArchiveDirectory(const base::FilePath& path);
  20. void AddObserver(Observer* observer) override;
  21. void RemoveObserver(Observer* observer) override;
  22. void SavePage(const SavePageParams& save_page_params,
  23. std::unique_ptr<OfflinePageArchiver> archiver,
  24. content::WebContents* web_contents,
  25. SavePageCallback callback) override;
  26. void AddPage(const OfflinePageItem& page, AddPageCallback callback) override;
  27. void MarkPageAccessed(int64_t offline_id) override;
  28. void DeletePagesWithCriteria(const PageCriteria& criteria,
  29. DeletePageCallback callback) override;
  30. void DeleteCachedPagesByURLPredicate(const UrlPredicate& predicate,
  31. DeletePageCallback callback) override;
  32. void GetAllPages(MultipleOfflinePageItemCallback callback) override;
  33. void GetOfflineIdsForClientId(const ClientId& client_id,
  34. MultipleOfflineIdCallback callback) override;
  35. void GetPageByOfflineId(int64_t offline_id,
  36. SingleOfflinePageItemCallback callback) override;
  37. void GetPagesWithCriteria(const PageCriteria& criteria,
  38. MultipleOfflinePageItemCallback callback) override;
  39. void StoreThumbnail(int64_t offline_id, std::string thumbnail) override;
  40. void StoreFavicon(int64_t offline_id, std::string favicon) override;
  41. void GetVisualsByOfflineId(int64_t offline_id,
  42. GetVisualsCallback callback) override;
  43. void GetVisualsAvailability(
  44. int64_t offline_id,
  45. base::OnceCallback<void(VisualsAvailability)> callback) override;
  46. void PublishInternalArchive(
  47. const OfflinePageItem& offline_page,
  48. PublishPageCallback publish_done_callback) override;
  49. const base::FilePath& GetArchiveDirectory(
  50. const std::string& name_space) const override;
  51. bool IsArchiveInInternalDir(const base::FilePath& file_path) const override;
  52. OfflineEventLogger* GetLogger() override;
  53. private:
  54. std::vector<int64_t> offline_ids_;
  55. base::FilePath archive_directory_;
  56. };
  57. } // namespace offline_pages
  58. #endif // COMPONENTS_OFFLINE_PAGES_CORE_STUB_OFFLINE_PAGE_MODEL_H_