下面列出了怎么用com.squareup.okhttp.mockwebserver.MockWebServer的API类实例代码及写法,或者点击链接到github查看源代码。
public void testGetBranchModel() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/branch-model.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final BranchModel branchModel = baseApi.branchApi().model(projectKey, repoKey);
assertThat(branchModel).isNotNull();
assertThat(branchModel.errors().isEmpty()).isTrue();
assertThat(branchModel.types().size() > 0).isTrue();
assertSent(server, localGetMethod, localRestPath + BitbucketApiMetadata.API_VERSION
+ localProjectsPath + projectKey + localReposPath + repoKey + "/branchmodel");
} finally {
server.shutdown();
}
}
@Test
public void testCloseTab() throws IOException, ChromeServiceException, InterruptedException {
MockWebServer server = new MockWebServer();
ObjectMapper objectMapper = new ObjectMapper();
ChromeTab tab =
objectMapper.readerFor(ChromeTab.class).readValue(getFixture("chrome/tab.json"));
server.enqueue(new MockResponse());
server.start();
ChromeServiceImpl service = new ChromeServiceImpl(server.getHostName(), server.getPort());
service.closeTab(tab);
RecordedRequest request = server.takeRequest();
assertEquals(1, server.getRequestCount());
assertEquals(
"GET /json/close/(2C5C79DD1137419CC8839D61D91CEB2A) HTTP/1.1", request.getRequestLine());
server.shutdown();
}
public void testGetBranchInfo() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/branch-list.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final BranchPage branchPage = baseApi.branchApi().info(projectKey, repoKey, commitId);
assertThat(branchPage).isNotNull();
assertThat(branchPage.errors().isEmpty()).isTrue();
assertThat(branchPage.size() > 0).isTrue();
assertSent(server, localGetMethod, localRestPath + BitbucketApiMetadata.API_VERSION
+ localProjectsPath + projectKey + localReposPath + repoKey + localInfoPath + "/" + commitId);
} finally {
server.shutdown();
}
}
@Before
public void setup() {
Robolectric.getBackgroundThreadScheduler().reset();
Robolectric.getForegroundThreadScheduler().reset();
ShadowLog.stream = System.out;
activity = Robolectric.buildActivity(MockMainActivity.class).create().start().resume().visible().get();
shadowOf(activity).grantPermissions("android.permission.INTERNET");
server= new MockWebServer();
try {
server.start();
HttpUrl url= server.url("/");
UTConstants.REQUEST_BASE_URL_UT = url.toString();
System.out.println(UTConstants.REQUEST_BASE_URL_UT);
ShadowSettings.setTestURL(url.toString());
} catch (IOException e) {
System.out.print("IOException");
}
bgScheduler = Robolectric.getBackgroundThreadScheduler();
uiScheduler = Robolectric.getForegroundThreadScheduler();
Robolectric.flushBackgroundThreadScheduler();
Robolectric.flushForegroundThreadScheduler();
bgScheduler.pause();
uiScheduler.pause();
}
public void testGetRunningQueueItem() throws Exception {
MockWebServer server = mockWebServer();
String body = payloadFromResource("/queueItemRunning.json");
server.enqueue(new MockResponse().setBody(body).setResponseCode(200));
JenkinsApi jenkinsApi = api(server.getUrl("/"));
int queueItemId = 143;
int buildNumber = 14;
QueueItem queueItem = jenkinsApi.queueApi().queueItem(queueItemId);
Map <String, String> map = Maps.newHashMap();
map.put("a", "4");
try {
assertEquals(queueItem.params(), map);
assertFalse(queueItem.cancelled());
assertNull(queueItem.why());
assertNotNull(queueItem.executable());
assertEquals((int) queueItem.executable().number(), (int) buildNumber);
assertEquals(queueItem.executable().url(), "http://localhost:8082/job/test/" + buildNumber + "/");
assertSent(server, "GET", "/queue/item/" + queueItemId + "/api/json");
} finally {
jenkinsApi.close();
server.shutdown();
}
}
public void testQueueItemMultipleParameters() throws Exception {
MockWebServer server = mockWebServer();
String body = payloadFromResource("/queueItemMultipleParameters.json");
server.enqueue(new MockResponse().setBody(body).setResponseCode(200));
JenkinsApi jenkinsApi = api(server.getUrl("/"));
int queueItemId = 143;
int buildNumber = 14;
QueueItem queueItem = jenkinsApi.queueApi().queueItem(queueItemId);
Map <String, String> map = Maps.newHashMap();
map.put("a", "1");
map.put("b", "2");
map.put("c", "3");
try {
assertEquals(queueItem.params(), map);
} finally {
jenkinsApi.close();
server.shutdown();
}
}
public void testQueueItemEmptyParameterValue() throws Exception {
MockWebServer server = mockWebServer();
String body = payloadFromResource("/queueItemEmptyParameterValue.json");
server.enqueue(new MockResponse().setBody(body).setResponseCode(200));
JenkinsApi jenkinsApi = api(server.getUrl("/"));
int queueItemId = 143;
int buildNumber = 14;
QueueItem queueItem = jenkinsApi.queueApi().queueItem(queueItemId);
Map <String, String> map = Maps.newHashMap();
map.put("a", "1");
map.put("b", "");
map.put("c", "3");
try {
assertEquals(queueItem.params(), map);
} finally {
jenkinsApi.close();
server.shutdown();
}
}
public void testCancelNonExistentQueueItem() throws Exception {
MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setResponseCode(500));
JenkinsApi jenkinsApi = api(server.getUrl("/"));
int queueItemId = 143;
RequestStatus result = jenkinsApi.queueApi().cancel(queueItemId);
try {
assertNotNull(result);
assertFalse(result.value());
assertFalse(result.errors().isEmpty());
assertSentWithFormData(server, "POST", "/queue/cancelItem", "id=" + queueItemId);
} finally {
jenkinsApi.close();
server.shutdown();
}
}
protected RecordedRequest assertSent(final MockWebServer server,
final String method,
final String expectedPath,
final Map<String, ?> queryParams) throws InterruptedException {
RecordedRequest request = server.takeRequest();
assertThat(request.getMethod()).isEqualTo(method);
assertThat(request.getHeader(HttpHeaders.ACCEPT)).isEqualTo(APPLICATION_JSON);
final String path = request.getPath();
final String rawPath = path.contains("?") ? path.substring(0, path.indexOf('?')) : path;
assertThat(rawPath).isEqualTo(expectedPath);
final Map<String, String> normalizedParams = Maps.transformValues(queryParams, Functions.toStringFunction());
assertThat(normalizedParams).isEqualTo(extractParams(path));
return request;
}
@Before
public void setUp() throws Exception {
ShadowLog.stream = System.out;
mockWebServer = new MockWebServer();
mockWebServer.start(9999);
baseRetryHandler = BaseRetryHandler_.getInstance_(RuntimeEnvironment.application);
connectivityAwareUrlClient = ConnectivityAwareUrlClient_.getInstance_(RuntimeEnvironment.application);
connectivityAwareUrlClient.setWrappedClient(new OkClient(new OkHttpClient()));
connectivityAwareUrlClient.setRetryHandler(baseRetryHandler);
RestAdapter restAdapter = new RestAdapter.Builder()
.setClient(connectivityAwareUrlClient)
.setLogLevel(RestAdapter.LogLevel.FULL)
.setEndpoint(mockWebServer.getUrl("/").toString()).build();
sodaService = restAdapter.create(SodaService.class);
}
public void testDeleteBranch() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setResponseCode(204));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final RequestStatus success = baseApi.branchApi().delete(projectKey, repoKey, "refs/heads/some-branch-name");
assertThat(success).isNotNull();
assertThat(success.value()).isTrue();
assertThat(success.errors()).isEmpty();
assertSent(server, localDeleteMethod, localRestPath + BitbucketApiMetadata.API_VERSION
+ localProjectsPath + projectKey + localReposPath + repoKey + "/branches");
} finally {
server.shutdown();
}
}
public void testListBranchePermissions() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/branch-permission-list.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final BranchRestrictionPage branch = baseApi.branchApi().listBranchRestriction(projectKey, repoKey, null, 1);
assertThat(branch).isNotNull();
assertThat(branch.errors().isEmpty()).isTrue();
assertThat(branch.values().size() > 0).isTrue();
assertThat(839L == branch.values().get(0).id()).isTrue();
assertThat(2 == branch.values().get(0).accessKeys().size()).isTrue();
final Map<String, ?> queryParams = ImmutableMap.of(localLimit, 1);
assertSent(server, localGetMethod, branchPermissionsPath
+ localProjectsPath + projectKey + localReposPath + repoKey + "/restrictions", queryParams);
} finally {
server.shutdown();
}
}
public void testGetListUserByGroup() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse()
.setBody(payloadFromResource("/admin-list-user-by-group.json"))
.setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final UserPage up = baseApi.adminApi().listUsersByGroup(localContext, null, 0, 2);
assertThat(up).isNotNull();
assertThat(up.errors()).isEmpty();
assertThat(up.size() == 2).isTrue();
assertThat(up.values().get(0).slug().equals("bob123")).isTrue();
final Map<String, ?> queryParams = ImmutableMap.of("context", localContext, limitKeyword, 2, startKeyword, 0);
assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION
+ "/admin/groups/more-members", queryParams);
} finally {
server.shutdown();
}
}
public void testGetListUserByGroupOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse()
.setBody(payloadFromResource("/admin-list-user-by-group-error.json"))
.setResponseCode(401));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final UserPage up = baseApi.adminApi().listUsersByGroup(localContext, null, 0, 2);
assertThat(up).isNotNull();
assertThat(up.errors()).isNotEmpty();
final Map<String, ?> queryParams = ImmutableMap.of("context", localContext, limitKeyword, 2, startKeyword, 0);
assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION
+ "/admin/groups/more-members", queryParams);
} finally {
server.shutdown();
}
}
public void testGetStatus() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/build-status.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final StatusPage statusPage = baseApi.buildStatusApi().status(commitHash, 0, 100);
assertThat(statusPage).isNotNull();
assertThat(statusPage.errors()).isEmpty();
assertThat(statusPage.size() == 2).isTrue();
assertThat(statusPage.values().get(0).state().equals(Status.StatusState.FAILED)).isTrue();
final Map<String, ?> queryParams = ImmutableMap.of("limit", 100, "start", 0);
assertSent(server, "GET", restBuildStatusPath + BitbucketApiMetadata.API_VERSION
+ commitPath, queryParams);
} finally {
server.shutdown();
}
}
public void testGetStatusOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/build-status-error.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final StatusPage statusPage = baseApi.buildStatusApi().status(commitHash, 0, 100);
assertThat(statusPage).isNotNull();
assertThat(statusPage.values()).isEmpty();
assertThat(statusPage.errors().size() == 1).isTrue();
final Map<String, ?> queryParams = ImmutableMap.of("limit", 100, "start", 0);
assertSent(server, "GET", restBuildStatusPath + BitbucketApiMetadata.API_VERSION
+ commitPath, queryParams);
} finally {
server.shutdown();
}
}
public void testGetSummary() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/build-summary.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Summary summary = baseApi.buildStatusApi().summary(commitHash);
assertThat(summary).isNotNull();
assertThat(summary.failed() == 1).isTrue();
assertThat(summary.inProgress() == 2).isTrue();
assertThat(summary.successful() == 3).isTrue();
assertSent(server, "GET", restBuildStatusPath + BitbucketApiMetadata.API_VERSION
+ "/commits/stats/306bcf274566f2e89f75ae6f7faf10beff38382012");
} finally {
server.shutdown();
}
}
static void setupLogging() {
final long start = currentTimeMillis();
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.FINE);
handler.setFormatter(new Formatter() {
@Override
public String format(LogRecord record) {
return String.format("%7d - %s%n", record.getMillis() - start, record.getMessage());
}
});
Logger[] loggers = {
Logger.getLogger(DenominatorD.class.getPackage().getName()),
Logger.getLogger(feign.Logger.class.getName()),
Logger.getLogger(MockWebServer.class.getName())
};
for (Logger logger : loggers) {
logger.setLevel(Level.FINE);
logger.setUseParentHandlers(false);
logger.addHandler(handler);
}
}
public void testAddBuildStatusOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/errors.json")).setResponseCode(404));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final CreateBuildStatus cbs = CreateBuildStatus.create(CreateBuildStatus.STATE.SUCCESSFUL,
"REPO-MASTER",
"REPO-MASTER-42",
"https://bamboo.example.com/browse/REPO-MASTER-42",
"Changes by John Doe");
final RequestStatus success = baseApi.buildStatusApi().add(commitHash, cbs);
assertThat(success).isNotNull();
assertThat(success.value()).isFalse();
assertThat(success.errors()).isNotEmpty();
assertSent(server, "POST", restBuildStatusPath + BitbucketApiMetadata.API_VERSION
+ commitPath);
} finally {
server.shutdown();
}
}
public void testDeleteReport() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setResponseCode(204));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final String reportKey = qwertyKeyword;
final RequestStatus success = baseApi.insightsApi().deleteReport(projectKey, repoKey, commitHash, reportKey);
assertThat(success).isNotNull();
assertThat(success.value()).isTrue();
assertThat(success.errors()).isEmpty();
assertSent(server,
deleteMethod,
restApiPath + BitbucketApiMetadata.API_VERSION
+ projectsKeyword + projectKey + repoKeyword + repoKey + commitKeyword + commitHash + reportsKeyword + "/" + reportKey);
} finally {
server.shutdown();
}
}
public void testDeleteAnnotation() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setResponseCode(204));
try (final BitbucketApi baseApi = api(server.url("/").url())) {
final String reportKey = qwertyKeyword;
final RequestStatus success = baseApi.insightsApi().deleteAnnotation(projectKey, repoKey, commitHash, reportKey, null);
assertThat(success).isNotNull();
assertThat(success.value()).isTrue();
assertThat(success.errors()).isEmpty();
assertSent(server,
deleteMethod,
restApiPath + BitbucketApiMetadata.API_VERSION
+ projectsKeyword + projectKey
+ repoKeyword + repoKey
+ commitKeyword + commitHash
+ reportsKeyword + "/" + reportKey
+ annotationsKeyword);
} finally {
server.shutdown();
}
}
public void testGetCommit() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/commit.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Commit commit = baseApi.commitsApi().get(projectKey, repoKey, commitHash, null);
assertThat(commit).isNotNull();
assertThat(commit.errors().isEmpty()).isTrue();
assertThat(commit.id().equalsIgnoreCase(commitHash)).isTrue();
assertSent(server, getMethod, restBasePath + BitbucketApiMetadata.API_VERSION
+ "/projects/" + projectKey + "/repos/" + repoKey + "/commits/" + commitHash);
} finally {
server.shutdown();
}
}
public void testGetCommitNonExistent() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/commit-error.json")).setResponseCode(404));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Commit commit = baseApi.commitsApi().get(projectKey, repoKey, commitHash, null);
assertThat(commit).isNotNull();
assertThat(commit.errors().size() > 0).isTrue();
assertSent(server, getMethod, restBasePath + BitbucketApiMetadata.API_VERSION
+ "/projects/" + projectKey + "/repos/" + repoKey + "/commits/" + commitHash);
} finally {
server.shutdown();
}
}
public void testComment() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/comments.json")).setResponseCode(201));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Comments pr = baseApi.commentsApi().comment(projectKey, repoKey, 101, measuredReplyKeyword);
assertThat(pr).isNotNull();
assertThat(pr.errors()).isEmpty();
assertThat(pr.text()).isEqualTo(measuredReplyKeyword);
assertThat(pr.links()).isNull();
assertSent(server, "POST", restApiPath + BitbucketApiMetadata.API_VERSION
+ "/projects/PRJ/repos/my-repo/pull-requests/101/comments");
} finally {
server.shutdown();
}
}
public void testGetPullRequestChangesOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse()
.setBody(payloadFromResource("/commit-error.json"))
.setResponseCode(404));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final ChangePage changePage = baseApi.commitsApi().listChanges(projectKey, repoKey, commitHash, 1, 12);
assertThat(changePage).isNotNull();
assertThat(changePage.errors()).isNotEmpty();
final Map<String, ?> queryParams = ImmutableMap.of(limitKeyword, 1, "start", 12);
assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION
+ "/projects/PRJ/repos/myrepo/commits/abcdef0123abcdef4567abcdef8987abcdef6543/changes", queryParams);
} finally {
server.shutdown();
}
}
public void testGetCommentOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/commit-error.json")).setResponseCode(404));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Comments pr = baseApi.commentsApi().get(projectKey, repoKey, 101, 1);
assertThat(pr).isNotNull();
assertThat(pr.errors()).isNotEmpty();
assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION
+ "/projects/PRJ/repos/my-repo/pull-requests/101/comments/1");
} finally {
server.shutdown();
}
}
public void testListCommitsOnError() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/commit-error.json"))
.setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final CommitPage pcr = baseApi.commitsApi().list(projectKey, repoKey, true, null, null, null, null, null, null, 1, null);
assertThat(pcr).isNotNull();
assertThat(pcr.errors()).isNotEmpty();
final Map<String, ?> queryParams = ImmutableMap.of("withCounts", true, limitKeyword, 1);
assertSent(server, getMethod, restApiPath + BitbucketApiMetadata.API_VERSION
+ "/projects/PRJ/repos/myrepo/commits", queryParams);
} finally {
server.shutdown();
}
}
public void testCreateProject() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse()
.setBody(payloadFromResource("/project.json"))
.setResponseCode(201));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final String projectKey = "HELLO";
final CreateProject createProject = CreateProject.create(projectKey, null, null, null);
final Project project = baseApi.projectApi().create(createProject);
assertThat(project).isNotNull();
assertThat(project.errors()).isEmpty();
assertThat(project.key()).isEqualToIgnoringCase(projectKey);
assertThat(project.name()).isEqualToIgnoringCase(projectKey);
assertThat(project.links()).isNotNull();
assertSent(server, "POST", restBasePath + BitbucketApiMetadata.API_VERSION + localPath);
} finally {
server.shutdown();
}
}
public void testGetDefaultBranch() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse().setBody(payloadFromResource("/branch-default.json")).setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final Branch branch = baseApi.branchApi().getDefault(projectKey, repoKey);
assertThat(branch).isNotNull();
assertThat(branch.errors().isEmpty()).isTrue();
assertThat(branch.id()).isNotNull();
assertSent(server, localGetMethod, restBasePath + BitbucketApiMetadata.API_VERSION
+ localProjectsPath + projectKey + localReposPath + repoKey + localBranchesPath + "/default");
} finally {
server.shutdown();
}
}
public void testGetProject() throws Exception {
final MockWebServer server = mockWebServer();
server.enqueue(new MockResponse()
.setBody(payloadFromResource("/project.json"))
.setResponseCode(200));
try (final BitbucketApi baseApi = api(server.getUrl("/"))) {
final String projectKey = "HELLO";
final Project project = baseApi.projectApi().get(projectKey);
assertThat(project).isNotNull();
assertThat(project.errors()).isEmpty();
assertThat(project.key()).isEqualToIgnoringCase(projectKey);
assertThat(project.links()).isNotNull();
assertSent(server, localMethod, restBasePath + BitbucketApiMetadata.API_VERSION + localPath + "/" + projectKey);
} finally {
server.shutdown();
}
}