package fr.mmarie.api.gitlab;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.dropwizard.jackson.Jackson;
import org.assertj.core.api.StrictAssertions;
import org.junit.Test;
import static fr.mmarie.api.Utils.getDateFromString;
import static fr.mmarie.api.gitlab.CommitAssert.assertThat;
import static io.dropwizard.testing.FixtureHelpers.fixture;
import static org.assertj.core.api.Assertions.assertThat;
public class CommitTest {
private static final ObjectMapper MAPPER = Jackson.newObjectMapper();
@Test
public void serializesToJSON() throws Exception {
final Commit commit = Commit.builder()
.id("b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327")
.message("Update Catalan translation to e38cb41.")
.timestamp(getDateFromString("2011-12-12T14:27:31+02:00"))
.url("http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327")
.build();
final String expected = MAPPER.writeValueAsString(
MAPPER.readValue(fixture("fixtures/gitlab/commit.json"), Commit.class));
StrictAssertions.assertThat(MAPPER.writeValueAsString(commit)).isEqualTo(expected);
}
@Test
public void deserializesFromJSON() throws Exception {
final Commit commit = MAPPER.readValue(fixture("fixtures/gitlab/commit.json"), Commit.class);
assertThat(commit)
.hasId("b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327")
.hasMessage("Update Catalan translation to e38cb41.")
.hasUrl("http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327");
}
@Test
public void testToString() throws Exception {
final Commit commit = Commit.builder()
.id("b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327")
.message("Update Catalan translation to e38cb41.")
.timestamp(getDateFromString("2011-12-12T14:27:31+02:00"))
.url("http://example.com/mike/diaspora/commit/b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327")
.build();
assertThat(commit.toString()).isEqualTo("Commit(id=b6568db1bc1dcd7f8b4d5a946b0b91f9dacd7327)");
}
}