package fr.mmarie.api.gitlab; import com.fasterxml.jackson.databind.ObjectMapper; import io.dropwizard.jackson.Jackson; import org.junit.Test; import static fr.mmarie.api.gitlab.EventAssert.assertThat; import static io.dropwizard.testing.FixtureHelpers.fixture; import static org.assertj.core.api.Assertions.assertThat; public class EventTest { private static final ObjectMapper MAPPER = Jackson.newObjectMapper(); @Test public void serializesToJSON() throws Exception { final Event event = Event.builder() .type(Event.Type.PUSH) .before("95790bf891e76fee5e1747ab589903a6a1f80f22") .after("da1560886d4f094c3e6c9ef40349f7d38b5d27d7") .ref("refs/heads/master") .userId(4L) .userName("John Smith") .userEmail("john@example.com") .projectId(15L) .totalCommitsCount(4L) .build(); final String expected = MAPPER.writeValueAsString( MAPPER.readValue(fixture("fixtures/gitlab/event.json"), Event.class)); assertThat(MAPPER.writeValueAsString(event)).isEqualTo(expected); } @Test public void deserializesFromJSON() throws Exception { final Event event = MAPPER.readValue(fixture("fixtures/gitlab/event.json"), Event.class); assertThat(event) .hasType(Event.Type.PUSH) .hasBefore("95790bf891e76fee5e1747ab589903a6a1f80f22") .hasAfter("da1560886d4f094c3e6c9ef40349f7d38b5d27d7") .hasRef("refs/heads/master") .hasUserId(4L) .hasUserName("John Smith") .hasUserEmail("john@example.com") .hasProjectId(15L) .hasTotalCommitsCount(4L); } @Test public void testToString() throws Exception { final Event event = new Event(Event.Type.PUSH); assertThat(event.toString()).isEqualTo("Event(type=PUSH)"); } }