Convert inline edit acceptance tests to use Google Truth

Change-Id: I742be0528bdbabd4536cf2c5d559391e0f33491a
This commit is contained in:
David Pursehouse
2014-11-11 12:23:05 +09:00
parent 1990487f34
commit a0e79b74db

View File

@@ -14,16 +14,13 @@
package com.google.gerrit.acceptance.edit;
import static com.google.common.truth.Truth.assertThat;
import static java.nio.charset.StandardCharsets.UTF_8;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.apache.http.HttpStatus.SC_NOT_FOUND;
import static org.apache.http.HttpStatus.SC_NO_CONTENT;
import static org.apache.http.HttpStatus.SC_OK;
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
import com.google.common.base.Optional;
@@ -100,12 +97,12 @@ public class ChangeEditIT extends AbstractDaemonTest {
ps = getCurrentPatchSet(changeId);
amendChange(git, admin.getIdent(), changeId);
change = getChange(changeId);
assertNotNull(ps);
assertThat(ps).isNotNull();
String changeId2 = newChange2(git, admin.getIdent());
change2 = getChange(changeId2);
assertNotNull(change2);
assertThat(change2).isNotNull();
ps2 = getCurrentPatchSet(changeId2);
assertNotNull(ps2);
assertThat(ps2).isNotNull();
final long clockStepMs = MILLISECONDS.convert(1, SECONDS);
final AtomicLong clockMs = new AtomicLong(
new DateTime(2009, 9, 30, 17, 0, 0).getMillis());
@@ -125,212 +122,158 @@ public class ChangeEditIT extends AbstractDaemonTest {
@Test
public void deleteEdit() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW)).isEqualTo(RefUpdate.Result.FORCED);
editUtil.delete(editUtil.byChange(change).get());
assertFalse(editUtil.byChange(change).isPresent());
assertThat(editUtil.byChange(change).isPresent()).isFalse();
}
@Test
public void publishEdit() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
getCurrentPatchSet(changeId)));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW2));
assertThat(modifier.createEdit(change, getCurrentPatchSet(changeId)))
.isEqualTo(RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW2)).isEqualTo(RefUpdate.Result.FORCED);
editUtil.publish(editUtil.byChange(change).get());
assertFalse(editUtil.byChange(change).isPresent());
assertThat(editUtil.byChange(change).isPresent()).isFalse();
}
@Test
public void publishEditRest() throws Exception {
PatchSet oldCurrentPatchSet = getCurrentPatchSet(changeId);
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
oldCurrentPatchSet));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.createEdit(change, oldCurrentPatchSet)).isEqualTo(
RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW)).isEqualTo(RefUpdate.Result.FORCED);
Optional<ChangeEdit> edit = editUtil.byChange(change);
RestResponse r = adminSession.post(urlPublish());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
edit = editUtil.byChange(change);
assertFalse(edit.isPresent());
assertThat(edit.isPresent()).isFalse();
PatchSet newCurrentPatchSet = getCurrentPatchSet(changeId);
assertFalse(oldCurrentPatchSet.getId().equals(newCurrentPatchSet.getId()));
assertThat(oldCurrentPatchSet.getId().equals(newCurrentPatchSet.getId()))
.isFalse();
}
@Test
public void deleteEditRest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW)).isEqualTo(RefUpdate.Result.FORCED);
Optional<ChangeEdit> edit = editUtil.byChange(change);
RestResponse r = adminSession.delete(urlEdit());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
edit = editUtil.byChange(change);
assertFalse(edit.isPresent());
assertThat(edit.isPresent()).isFalse();
}
@Test
public void rebaseEdit() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW)).isEqualTo(RefUpdate.Result.FORCED);
ChangeEdit edit = editUtil.byChange(change).get();
PatchSet current = getCurrentPatchSet(changeId);
assertEquals(current.getPatchSetId() - 1,
edit.getBasePatchSet().getPatchSetId());
assertThat(edit.getBasePatchSet().getPatchSetId()).isEqualTo(
current.getPatchSetId() - 1);
Date beforeRebase = edit.getEditCommit().getCommitterIdent().getWhen();
modifier.rebaseEdit(edit, current);
edit = editUtil.byChange(change).get();
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.getChange().getProject(),
edit.getRevision().get(), FILE_NAME)));
assertArrayEquals(CONTENT_NEW2,
toBytes(fileUtil.getContent(edit.getChange().getProject(),
edit.getRevision().get(), FILE_NAME2)));
assertEquals(current.getPatchSetId(),
edit.getBasePatchSet().getPatchSetId());
assertByteArray(fileUtil.getContent(edit.getChange().getProject(), edit
.getRevision().get(), FILE_NAME), CONTENT_NEW);
assertByteArray(fileUtil.getContent(edit.getChange().getProject(), edit
.getRevision().get(), FILE_NAME2), CONTENT_NEW2);
assertThat(edit.getBasePatchSet().getPatchSetId()).isEqualTo(
current.getPatchSetId());
Date afterRebase = edit.getEditCommit().getCommitterIdent().getWhen();
assertFalse(beforeRebase.equals(afterRebase));
assertThat(beforeRebase.equals(afterRebase)).isFalse();
}
@Test
public void rebaseEditRest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
editUtil.byChange(change).get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(
modifier.modifyFile(editUtil.byChange(change).get(), FILE_NAME,
CONTENT_NEW)).isEqualTo(RefUpdate.Result.FORCED);
ChangeEdit edit = editUtil.byChange(change).get();
PatchSet current = getCurrentPatchSet(changeId);
assertEquals(current.getPatchSetId() - 1,
edit.getBasePatchSet().getPatchSetId());
assertThat(edit.getBasePatchSet().getPatchSetId()).isEqualTo(
current.getPatchSetId() - 1);
Date beforeRebase = edit.getEditCommit().getCommitterIdent().getWhen();
RestResponse r = adminSession.post(urlRebase());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
edit = editUtil.byChange(change).get();
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.getChange().getProject(),
edit.getRevision().get(), FILE_NAME)));
assertArrayEquals(CONTENT_NEW2,
toBytes(fileUtil.getContent(edit.getChange().getProject(),
edit.getRevision().get(), FILE_NAME2)));
assertEquals(current.getPatchSetId(),
edit.getBasePatchSet().getPatchSetId());
assertByteArray(fileUtil.getContent(edit.getChange().getProject(), edit
.getRevision().get(), FILE_NAME), CONTENT_NEW);
assertByteArray(fileUtil.getContent(edit.getChange().getProject(), edit
.getRevision().get(), FILE_NAME2), CONTENT_NEW2);
assertThat(edit.getBasePatchSet().getPatchSetId()).isEqualTo(
current.getPatchSetId());
Date afterRebase = edit.getEditCommit().getCommitterIdent().getWhen();
assertFalse(beforeRebase.equals(afterRebase));
assertThat(beforeRebase.equals(afterRebase)).isFalse();
}
@Test
public void updateExistingFile() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW);
editUtil.delete(edit.get());
edit = editUtil.byChange(change);
assertFalse(edit.isPresent());
assertThat(edit.isPresent()).isFalse();
}
@Test
public void retrieveEdit() throws Exception {
RestResponse r = adminSession.get(urlEdit());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
EditInfo info = toEditInfo(false);
assertEquals(edit.get().getRevision().get(), info.commit.commit);
assertEquals(1, info.commit.parents.size());
assertThat(info.commit.commit).isEqualTo(edit.get().getRevision().get());
assertThat(info.commit.parents).hasSize(1);
edit = editUtil.byChange(change);
editUtil.delete(edit.get());
r = adminSession.get(urlEdit());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
}
@Test
public void retrieveFilesInEdit() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
EditInfo info = toEditInfo(true);
assertEquals(2, info.files.size());
assertThat(info.files).hasSize(2);
List<String> l = Lists.newArrayList(info.files.keySet());
assertEquals("/COMMIT_MSG", l.get(0));
assertEquals("foo", l.get(1));
assertThat(l.get(0)).isEqualTo("/COMMIT_MSG");
assertThat(l.get(1)).isEqualTo("foo");
}
@Test
public void deleteExistingFile() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.deleteFile(
edit.get(),
FILE_NAME));
assertThat(modifier.deleteFile(edit.get(), FILE_NAME)).isEqualTo(
RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
try {
fileUtil.getContent(edit.get().getChange().getProject(),
@@ -343,7 +286,7 @@ public class ChangeEditIT extends AbstractDaemonTest {
@Test
public void createEditByDeletingExistingFileRest() throws Exception {
RestResponse r = adminSession.delete(urlEditFile());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
try {
fileUtil.getContent(edit.get().getChange().getProject(),
@@ -356,17 +299,14 @@ public class ChangeEditIT extends AbstractDaemonTest {
@Test
public void deletingNonExistingEditRest() throws Exception {
RestResponse r = adminSession.delete(urlEdit());
assertEquals(SC_NOT_FOUND, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NOT_FOUND);
}
@Test
public void deleteExistingFileRest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(SC_NO_CONTENT, adminSession.delete(urlEditFile())
.getStatusCode());
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(adminSession.delete(urlEditFile()).getStatusCode()).isEqualTo(
SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
try {
fileUtil.getContent(edit.get().getChange().getProject(),
@@ -378,146 +318,122 @@ public class ChangeEditIT extends AbstractDaemonTest {
@Test
public void restoreDeletedFileInPatchSet() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change2,
ps2));
assertThat(modifier.createEdit(change2, ps2)).isEqualTo(
RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change2);
assertEquals(RefUpdate.Result.FORCED,
modifier.restoreFile(
edit.get(),
FILE_NAME));
assertThat(modifier.restoreFile(edit.get(), FILE_NAME)).isEqualTo(
RefUpdate.Result.FORCED);
edit = editUtil.byChange(change2);
assertArrayEquals(CONTENT_OLD,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_OLD);
}
@Test
public void restoreDeletedFileInPatchSetRest() throws Exception {
Post.Input in = new Post.Input();
in.restorePath = FILE_NAME;
assertEquals(SC_NO_CONTENT, adminSession.post(urlEdit2(),
in).getStatusCode());
assertThat(adminSession.post(urlEdit2(), in).getStatusCode()).isEqualTo(
SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change2);
assertArrayEquals(CONTENT_OLD,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_OLD);
}
@Test
public void amendExistingFile() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW2));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW);
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW2))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW2,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW2);
}
@Test
public void createAndChangeEditInOneRequestRest() throws Exception {
Put.Input in = new Put.Input();
in.content = RestSession.newRawInput(CONTENT_NEW);
assertEquals(SC_NO_CONTENT, adminSession.putRaw(urlEditFile(),
in.content).getStatusCode());
assertThat(adminSession.putRaw(urlEditFile(), in.content).getStatusCode())
.isEqualTo(SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW);
in.content = RestSession.newRawInput(CONTENT_NEW2);
assertEquals(SC_NO_CONTENT, adminSession.putRaw(urlEditFile(),
in.content).getStatusCode());
assertThat(adminSession.putRaw(urlEditFile(), in.content).getStatusCode())
.isEqualTo(SC_NO_CONTENT);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW2,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW2);
}
@Test
public void changeEditRest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Put.Input in = new Put.Input();
in.content = RestSession.newRawInput(CONTENT_NEW);
assertEquals(SC_NO_CONTENT, adminSession.putRaw(urlEditFile(),
in.content).getStatusCode());
assertThat(adminSession.putRaw(urlEditFile(), in.content).getStatusCode())
.isEqualTo(SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_NEW);
}
@Test
public void emptyPutRequest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(SC_NO_CONTENT, adminSession.put(urlEditFile())
.getStatusCode());
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(adminSession.put(urlEditFile()).getStatusCode()).isEqualTo(
SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertArrayEquals("".getBytes(),
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), "".getBytes());
}
@Test
public void createEmptyEditRest() throws Exception {
assertEquals(SC_NO_CONTENT, adminSession.post(urlEdit()).getStatusCode());
assertThat(adminSession.post(urlEdit()).getStatusCode()).isEqualTo(
SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_OLD,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME), CONTENT_OLD);
}
@Test
public void getFileContentRest() throws Exception {
Put.Input in = new Put.Input();
in.content = RestSession.newRawInput(CONTENT_NEW);
assertEquals(SC_NO_CONTENT, adminSession.putRaw(urlEditFile(),
in.content).getStatusCode());
assertThat(adminSession.putRaw(urlEditFile(), in.content).getStatusCode())
.isEqualTo(SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME,
CONTENT_NEW2));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME, CONTENT_NEW2))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
RestResponse r = adminSession.get(urlEditFile());
assertEquals(SC_OK, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_OK);
String content = r.getEntityContent();
assertEquals(StringUtils.newStringUtf8(CONTENT_NEW2),
StringUtils.newStringUtf8(Base64.decodeBase64(content)));
assertThat(StringUtils.newStringUtf8(Base64.decodeBase64(content)))
.isEqualTo(StringUtils.newStringUtf8(CONTENT_NEW2));
}
@Test
public void getFileNotFoundRest() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertEquals(SC_NO_CONTENT, adminSession.delete(urlEditFile())
.getStatusCode());
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
assertThat(adminSession.delete(urlEditFile()).getStatusCode()).isEqualTo(
SC_NO_CONTENT);
Optional<ChangeEdit> edit = editUtil.byChange(change);
try {
fileUtil.getContent(edit.get().getChange().getProject(),
@@ -526,60 +442,42 @@ public class ChangeEditIT extends AbstractDaemonTest {
} catch (ResourceNotFoundException rnfe) {
}
RestResponse r = adminSession.get(urlEditFile());
assertEquals(SC_NO_CONTENT, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_NO_CONTENT);
}
@Test
public void addNewFile() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME2,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME2, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME2)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME2), CONTENT_NEW);
}
@Test
public void addNewFileAndAmend() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
Optional<ChangeEdit> edit = editUtil.byChange(change);
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME2,
CONTENT_NEW));
assertThat(modifier.modifyFile(edit.get(), FILE_NAME2, CONTENT_NEW))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME2)));
assertEquals(RefUpdate.Result.FORCED,
modifier.modifyFile(
edit.get(),
FILE_NAME2,
CONTENT_NEW2));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME2), CONTENT_NEW);
assertThat(modifier.modifyFile(edit.get(), FILE_NAME2, CONTENT_NEW2))
.isEqualTo(RefUpdate.Result.FORCED);
edit = editUtil.byChange(change);
assertArrayEquals(CONTENT_NEW2,
toBytes(fileUtil.getContent(edit.get().getChange().getProject(),
edit.get().getRevision().get(), FILE_NAME2)));
assertByteArray(
fileUtil.getContent(edit.get().getChange().getProject(), edit.get()
.getRevision().get(), FILE_NAME2), CONTENT_NEW2);
}
@Test
public void writeNoChanges() throws Exception {
assertEquals(RefUpdate.Result.NEW,
modifier.createEdit(
change,
ps));
assertThat(modifier.createEdit(change, ps)).isEqualTo(RefUpdate.Result.NEW);
try {
modifier.modifyFile(
editUtil.byChange(change).get(),
@@ -587,7 +485,7 @@ public class ChangeEditIT extends AbstractDaemonTest {
CONTENT_OLD);
fail();
} catch (InvalidChangeOperationException e) {
assertEquals("no changes were made", e.getMessage());
assertThat(e.getMessage()).isEqualTo("no changes were made");
}
}
@@ -622,10 +520,11 @@ public class ChangeEditIT extends AbstractDaemonTest {
.get(getChange(changeId).currentPatchSetId());
}
private static byte[] toBytes(BinaryResult content) throws Exception {
private static void assertByteArray(BinaryResult result, byte[] expected)
throws Exception {
ByteArrayOutputStream os = new ByteArrayOutputStream();
content.writeTo(os);
return os.toByteArray();
result.writeTo(os);
assertThat(os.toByteArray()).isEqualTo(expected);
}
private String urlEdit() {
@@ -665,7 +564,7 @@ public class ChangeEditIT extends AbstractDaemonTest {
private EditInfo toEditInfo(boolean files) throws IOException {
RestResponse r = adminSession.get(files ? urlGetFiles() : urlEdit());
assertEquals(SC_OK, r.getStatusCode());
assertThat(r.getStatusCode()).isEqualTo(SC_OK);
return newGson().fromJson(r.getReader(), EditInfo.class);
}
}