summaryrefslogtreecommitdiffstats
path: root/components/webdata_services/web_data_service_test_util.h
blob: 4c260a11c6981a70b5d1a8cf367157d86fedf17d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_WEBDATA_SERVICES_WEB_DATA_SERVICE_TEST_UTIL_H__
#define COMPONENTS_WEBDATA_SERVICES_WEB_DATA_SERVICE_TEST_UTIL_H__

#include "base/basictypes.h"
#include "base/message_loop/message_loop.h"
#include "components/signin/core/browser/webdata/token_web_data.h"
#include "components/webdata_services/web_data_service_wrapper.h"

// Base class for mocks of WebDataService, that does nothing in
// Shutdown().
class MockWebDataServiceWrapperBase : public WebDataServiceWrapper {
 public:
  MockWebDataServiceWrapperBase();
  ~MockWebDataServiceWrapperBase() override;

  void Shutdown() override;

 private:
  DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapperBase);
};

// Pass your fake WebDataService in the constructor and this will
// serve it up via GetWebData().
class MockWebDataServiceWrapper : public MockWebDataServiceWrapperBase {
 public:
  MockWebDataServiceWrapper(
      scoped_refptr<autofill::AutofillWebDataService> fake_autofill,
      scoped_refptr<TokenWebData> fake_token);

  ~MockWebDataServiceWrapper() override;

  scoped_refptr<autofill::AutofillWebDataService> GetAutofillWebData() override;

  scoped_refptr<TokenWebData> GetTokenWebData() override;

 protected:
  scoped_refptr<autofill::AutofillWebDataService> fake_autofill_web_data_;
  scoped_refptr<TokenWebData> fake_token_web_data_;

 private:
  DISALLOW_COPY_AND_ASSIGN(MockWebDataServiceWrapper);
};

#endif  // COMPONENTS_WEBDATA_SERVICES_WEB_DATA_SERVICE_TEST_UTIL_H__