forked from microsoftgraph/msgraph-sdk-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMockHttpRequest.java
More file actions
160 lines (132 loc) · 4.14 KB
/
Copy pathMockHttpRequest.java
File metadata and controls
160 lines (132 loc) · 4.14 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
package com.microsoft.graph.http;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import com.microsoft.graph.concurrency.IProgressCallback;
import com.microsoft.graph.core.ClientException;
import com.microsoft.graph.httpcore.middlewareoption.IShouldRedirect;
import com.microsoft.graph.httpcore.middlewareoption.IShouldRetry;
import com.microsoft.graph.httpcore.middlewareoption.RedirectOptions;
import com.microsoft.graph.httpcore.middlewareoption.RetryOptions;
import com.microsoft.graph.options.HeaderOption;
import com.microsoft.graph.options.Option;
import okhttp3.Request;
/**
* Mock for {@see IHttpRequest}
*/
public class MockHttpRequest implements IHttpRequest {
private HttpMethod mHttpMethod = HttpMethod.GET;
private List<HeaderOption> mHeaders = new ArrayList<HeaderOption>();
private List<Option> mOptions = new ArrayList<Option>();
private boolean mUseCaches;
@Override
public URL getRequestUrl() {
try {
return new URL("http://localhost");
} catch (final MalformedURLException ex) {
throw new ClientException("Invalid URL", ex);
}
}
@Override
public HttpMethod getHttpMethod() {
return mHttpMethod;
}
@Override
public List<HeaderOption> getHeaders() {
return mHeaders;
}
@Override
public List<Option> getOptions() {
return mOptions;
}
@Override
public void addHeader(String header, String value) {
mHeaders.add(new HeaderOption(header, value));
}
@Override
public void setUseCaches(boolean useCaches) {
mUseCaches = useCaches;
}
@Override
public boolean getUseCaches() {
return mUseCaches;
}
public void setHttpMethod(HttpMethod method) {
mHttpMethod = method;
}
@Override
public void setMaxRedirects(int maxRedirects) {
}
@Override
public int getMaxRedirects() {
return RedirectOptions.DEFAULT_MAX_REDIRECTS;
}
@Override
public void setShouldRedirect(IShouldRedirect shouldRedirect) {
}
@Override
public IShouldRedirect getShouldRedirect() {
return RedirectOptions.DEFAULT_SHOULD_REDIRECT;
}
@Override
public void setShouldRetry(IShouldRetry shouldretry) {
}
@Override
public IShouldRetry getShouldRetry() {
return RetryOptions.DEFAULT_SHOULD_RETRY;
}
@Override
public void setMaxRetries(int maxRetries) {
}
@Override
public int getMaxRetries() {
return RetryOptions.DEFAULT_MAX_RETRIES;
}
@Override
public void setDelay(long delay) {
}
@Override
public long getDelay() {
return RetryOptions.DEFAULT_DELAY;
}
@Override
public IHttpRequest withHttpMethod(HttpMethod httpMethod) {
return this;
}
/**
* Returns the Request object to be executed
* @return the Request object to be executed
*/
@Override
public Request getHttpRequest() throws ClientException {
return getHttpRequest(null);
}
/**
* Returns the Request object to be executed
* @param serializedObject the object to serialize at the body of the request
* @param <requestBodyType> the type of the serialized object
* @return the Request object to be executed
*/
@Override
public <requestBodyType> Request getHttpRequest(final requestBodyType serializedObject) throws ClientException {
return getHttpRequest(serializedObject, null);
}
/**
* Returns the Request object to be executed
* @param serializedObject the object to serialize at the body of the request
* @param progress the progress callback
* @param <requestBodyType> the type of the serialized object
* @param <responseType> the type of the response object
* @return the Request object to be executed
*/
@Override
public <requestBodyType, responseType> Request getHttpRequest(final requestBodyType serializedObject, final IProgressCallback<responseType> progress) throws ClientException {
try {
final Request.Builder requestBuilder = new Request.Builder();
return requestBuilder.build();
} catch (Exception ex) {
throw new ClientException("dummy", ex);
}
}
}