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.
5 #ifndef CHROMEOS_LOGIN_AUTH_MOCK_URL_FETCHERS_H_
6 #define CHROMEOS_LOGIN_AUTH_MOCK_URL_FETCHERS_H_
10 #include "base/compiler_specific.h"
11 #include "base/memory/weak_ptr.h"
12 #include "base/message_loop/message_loop.h"
13 #include "chromeos/chromeos_export.h"
14 #include "net/url_request/test_url_fetcher_factory.h"
15 #include "net/url_request/url_request_status.h"
19 class URLFetcherDelegate
;
24 // Simulates a URL fetch by posting a delayed task. This fetch expects to be
25 // canceled, and fails the test if it is not
26 class ExpectCanceledFetcher
: public net::TestURLFetcher
{
28 ExpectCanceledFetcher(bool success
,
30 const std::string
& results
,
31 net::URLFetcher::RequestType request_type
,
32 net::URLFetcherDelegate
* d
);
33 ~ExpectCanceledFetcher() override
;
35 void Start() override
;
40 base::WeakPtrFactory
<ExpectCanceledFetcher
> weak_factory_
;
41 DISALLOW_COPY_AND_ASSIGN(ExpectCanceledFetcher
);
44 class GotCanceledFetcher
: public net::TestURLFetcher
{
46 GotCanceledFetcher(bool success
,
48 const std::string
& results
,
49 net::URLFetcher::RequestType request_type
,
50 net::URLFetcherDelegate
* d
);
51 ~GotCanceledFetcher() override
;
53 void Start() override
;
56 DISALLOW_COPY_AND_ASSIGN(GotCanceledFetcher
);
59 class SuccessFetcher
: public net::TestURLFetcher
{
61 SuccessFetcher(bool success
,
63 const std::string
& results
,
64 net::URLFetcher::RequestType request_type
,
65 net::URLFetcherDelegate
* d
);
66 ~SuccessFetcher() override
;
68 void Start() override
;
71 DISALLOW_COPY_AND_ASSIGN(SuccessFetcher
);
74 class FailFetcher
: public net::TestURLFetcher
{
76 FailFetcher(bool success
,
78 const std::string
& results
,
79 net::URLFetcher::RequestType request_type
,
80 net::URLFetcherDelegate
* d
);
81 ~FailFetcher() override
;
83 void Start() override
;
86 DISALLOW_COPY_AND_ASSIGN(FailFetcher
);
89 class CaptchaFetcher
: public net::TestURLFetcher
{
91 CaptchaFetcher(bool success
,
93 const std::string
& results
,
94 net::URLFetcher::RequestType request_type
,
95 net::URLFetcherDelegate
* d
);
96 ~CaptchaFetcher() override
;
98 static std::string
GetCaptchaToken();
99 static std::string
GetCaptchaUrl();
100 static std::string
GetUnlockUrl();
102 void Start() override
;
105 static const char kCaptchaToken
[];
106 static const char kCaptchaUrlBase
[];
107 static const char kCaptchaUrlFragment
[];
108 static const char kUnlockUrl
[];
109 DISALLOW_COPY_AND_ASSIGN(CaptchaFetcher
);
112 class HostedFetcher
: public net::TestURLFetcher
{
114 HostedFetcher(bool success
,
116 const std::string
& results
,
117 net::URLFetcher::RequestType request_type
,
118 net::URLFetcherDelegate
* d
);
119 ~HostedFetcher() override
;
121 void Start() override
;
124 DISALLOW_COPY_AND_ASSIGN(HostedFetcher
);
127 } // namespace chromeos
129 #endif // CHROMEOS_LOGIN_AUTH_MOCK_URL_FETCHERS_H_