Home | History | Annotate | Download | only in indexed_db
      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 CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_
      6 #define CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_
      7 
      8 #include <string>
      9 
     10 #include "content/browser/indexed_db/indexed_db_factory.h"
     11 #include "testing/gmock/include/gmock/gmock.h"
     12 
     13 namespace content {
     14 
     15 class MockIndexedDBFactory : public IndexedDBFactory {
     16  public:
     17   MockIndexedDBFactory();
     18   MOCK_METHOD2(ReleaseDatabase,
     19                void(const IndexedDBDatabase::Identifier& identifier,
     20                     bool forcedClose));
     21   MOCK_METHOD4(GetDatabaseNames,
     22                void(scoped_refptr<IndexedDBCallbacks> callbacks,
     23                     const GURL& origin_url,
     24                     const base::FilePath& data_directory,
     25                     net::URLRequestContext* request_context));
     26   MOCK_METHOD5(Open,
     27                void(const base::string16& name,
     28                     const IndexedDBPendingConnection& connection,
     29                     net::URLRequestContext* request_context,
     30                     const GURL& origin_url,
     31                     const base::FilePath& data_directory));
     32   MOCK_METHOD5(DeleteDatabase,
     33                void(const base::string16& name,
     34                     net::URLRequestContext* request_context,
     35                     scoped_refptr<IndexedDBCallbacks> callbacks,
     36                     const GURL& origin_url,
     37                     const base::FilePath& data_directory));
     38   MOCK_METHOD1(HandleBackingStoreFailure, void(const GURL& origin_url));
     39   MOCK_METHOD2(HandleBackingStoreCorruption,
     40                void(const GURL& origin_url,
     41                     const IndexedDBDatabaseError& error));
     42   // The Android NDK implements a subset of STL, and the gtest templates can't
     43   // deal with std::pair's. This means we can't use GoogleMock for this method
     44   virtual OriginDBs GetOpenDatabasesForOrigin(
     45       const GURL& origin_url) const OVERRIDE;
     46   MOCK_METHOD1(ForceClose, void(const GURL& origin_url));
     47   MOCK_METHOD0(ContextDestroyed, void());
     48   MOCK_METHOD1(DatabaseDeleted,
     49                void(const IndexedDBDatabase::Identifier& identifier));
     50   MOCK_CONST_METHOD1(GetConnectionCount, size_t(const GURL& origin_url));
     51 
     52   MOCK_METHOD2(ReportOutstandingBlobs,
     53                void(const GURL& origin_url, bool blobs_outstanding));
     54 
     55  protected:
     56   virtual ~MockIndexedDBFactory();
     57 
     58   MOCK_METHOD7(OpenBackingStore,
     59                scoped_refptr<IndexedDBBackingStore>(
     60                    const GURL& origin_url,
     61                    const base::FilePath& data_directory,
     62                    net::URLRequestContext* request_context,
     63                    blink::WebIDBDataLoss* data_loss,
     64                    std::string* data_loss_reason,
     65                    bool* disk_full,
     66                    leveldb::Status* s));
     67 
     68   MOCK_METHOD8(OpenBackingStoreHelper,
     69                scoped_refptr<IndexedDBBackingStore>(
     70                    const GURL& origin_url,
     71                    const base::FilePath& data_directory,
     72                    net::URLRequestContext* request_context,
     73                    blink::WebIDBDataLoss* data_loss,
     74                    std::string* data_loss_message,
     75                    bool* disk_full,
     76                    bool first_time,
     77                    leveldb::Status* s));
     78 
     79  private:
     80   DISALLOW_COPY_AND_ASSIGN(MockIndexedDBFactory);
     81 };
     82 
     83 }  // namespace content
     84 
     85 #endif  // CONTENT_BROWSER_INDEXED_DB_MOCK_INDEXED_DB_FACTORY_H_
     86