- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / mock_url_fetchers.h
1 // Copyright (c) 2012 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 CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_URL_FETCHERS_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_URL_FETCHERS_H_
7
8 #include <string>
9
10 #include "base/compiler_specific.h"
11 #include "base/memory/weak_ptr.h"
12 #include "base/message_loop/message_loop.h"
13 #include "net/url_request/test_url_fetcher_factory.h"
14 #include "net/url_request/url_request_status.h"
15 #include "url/gurl.h"
16
17 namespace net {
18 class URLFetcherDelegate;
19 }
20
21 namespace chromeos {
22
23 // Simulates a URL fetch by posting a delayed task. This fetch expects to be
24 // canceled, and fails the test if it is not
25 class ExpectCanceledFetcher : public net::TestURLFetcher {
26  public:
27   ExpectCanceledFetcher(bool success,
28                         const GURL& url,
29                         const std::string& results,
30                         net::URLFetcher::RequestType request_type,
31                         net::URLFetcherDelegate* d);
32   virtual ~ExpectCanceledFetcher();
33
34   virtual void Start() OVERRIDE;
35
36   void CompleteFetch();
37
38  private:
39   base::WeakPtrFactory<ExpectCanceledFetcher> weak_factory_;
40   DISALLOW_COPY_AND_ASSIGN(ExpectCanceledFetcher);
41 };
42
43 class GotCanceledFetcher : public net::TestURLFetcher {
44  public:
45   GotCanceledFetcher(bool success,
46                      const GURL& url,
47                      const std::string& results,
48                      net::URLFetcher::RequestType request_type,
49                      net::URLFetcherDelegate* d);
50   virtual ~GotCanceledFetcher();
51
52   virtual void Start() OVERRIDE;
53
54  private:
55   DISALLOW_COPY_AND_ASSIGN(GotCanceledFetcher);
56 };
57
58 class SuccessFetcher : public net::TestURLFetcher {
59  public:
60   SuccessFetcher(bool success,
61                  const GURL& url,
62                  const std::string& results,
63                  net::URLFetcher::RequestType request_type,
64                  net::URLFetcherDelegate* d);
65   virtual ~SuccessFetcher();
66
67   virtual void Start() OVERRIDE;
68
69  private:
70   DISALLOW_COPY_AND_ASSIGN(SuccessFetcher);
71 };
72
73 class FailFetcher : public net::TestURLFetcher {
74  public:
75   FailFetcher(bool success,
76               const GURL& url,
77               const std::string& results,
78               net::URLFetcher::RequestType request_type,
79               net::URLFetcherDelegate* d);
80   virtual ~FailFetcher();
81
82   virtual void Start() OVERRIDE;
83
84  private:
85   DISALLOW_COPY_AND_ASSIGN(FailFetcher);
86 };
87
88 class CaptchaFetcher : public net::TestURLFetcher {
89  public:
90   CaptchaFetcher(bool success,
91                  const GURL& url,
92                  const std::string& results,
93                  net::URLFetcher::RequestType request_type,
94                  net::URLFetcherDelegate* d);
95   virtual ~CaptchaFetcher();
96
97   static std::string GetCaptchaToken();
98   static std::string GetCaptchaUrl();
99   static std::string GetUnlockUrl();
100
101   virtual void Start() OVERRIDE;
102
103  private:
104   static const char kCaptchaToken[];
105   static const char kCaptchaUrlBase[];
106   static const char kCaptchaUrlFragment[];
107   static const char kUnlockUrl[];
108   DISALLOW_COPY_AND_ASSIGN(CaptchaFetcher);
109 };
110
111 class HostedFetcher : public net::TestURLFetcher {
112  public:
113   HostedFetcher(bool success,
114                 const GURL& url,
115                 const std::string& results,
116                 net::URLFetcher::RequestType request_type,
117                 net::URLFetcherDelegate* d);
118   virtual ~HostedFetcher();
119
120   virtual void Start() OVERRIDE;
121
122  private:
123   DISALLOW_COPY_AND_ASSIGN(HostedFetcher);
124 };
125
126 }  // namespace chromeos
127
128 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_MOCK_URL_FETCHERS_H_