diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/CreateChangeIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/CreateChangeIT.java index bdabfae7ad..b31f8acc82 100644 --- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/CreateChangeIT.java +++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/rest/change/CreateChangeIT.java @@ -16,6 +16,7 @@ package com.google.gerrit.acceptance.rest.change; import static com.google.common.truth.Truth.assertThat; +import com.google.common.collect.Iterables; import com.google.gerrit.acceptance.AbstractDaemonTest; import com.google.gerrit.acceptance.RestResponse; import com.google.gerrit.extensions.common.ChangeInfo; @@ -84,5 +85,15 @@ public class CreateChangeIT extends AbstractDaemonTest { assertThat(out.subject).isEqualTo(in.subject); assertThat(out.topic).isEqualTo(in.topic); assertThat(out.status).isEqualTo(in.status); + assertThat(out.revisions).hasSize(1); + Boolean draft = Iterables.getOnlyElement(out.revisions.values()).draft; + assertThat(booleanToDraftStatus(draft)).isEqualTo(in.status); + } + + private ChangeStatus booleanToDraftStatus(Boolean draft) { + if (draft == null) { + return ChangeStatus.NEW; + } + return draft ? ChangeStatus.DRAFT : ChangeStatus.NEW; } } diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java index 440865c93a..ae8a370402 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateChange.java @@ -203,8 +203,7 @@ public class CreateChange implements updateRef(git, rw, c, change, ins.getPatchSet()); change.setTopic(input.topic); - change.setStatus(input.status != null - ? Change.Status.forChangeStatus(input.status) : Change.Status.NEW); + ins.setDraft(input.status != null && input.status == ChangeStatus.DRAFT); ins.insert(); return Response.created(json.format(change.getId()));