@Test
public void push() throws Exception {
doAnswer(invocation -> {
final AsyncMethodCallback<TCommit> callback = invocation.getArgument(7);
callback.onComplete(new TCommit(
new TRevision(1),
new TAuthor("name", "name@sample.com"),
TIMESTAMP,
"summary",
new Comment("detail"),
ImmutableList.of()));
return null;
}).when(iface).push(anyString(), anyString(), any(), any(), any(), any(), any(), any());
assertThat(client.push("project", "repo", new Revision(1),
new Author("name", "name@sample.com"),
"summary", "detail", Markup.PLAINTEXT,
ImmutableList.of(Change.ofTextUpsert("/a.txt", "hello"))
).get()).isEqualTo(new PushResult(new Revision(1), Instant.parse(TIMESTAMP).toEpochMilli()));
verify(iface).push(eq("project"), eq("repo"), any(), any(), eq("summary"),
any(), any(), any());
}