mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-02-05 06:09:12 +01:00
added unit tests for JsonEnricher
This commit is contained in:
@@ -94,6 +94,12 @@
|
||||
<artifactId>javax.ws.rs-api</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.jboss.resteasy</groupId>
|
||||
<artifactId>resteasy-jaxrs</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!-- json -->
|
||||
|
||||
<dependency>
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
package sonia.scm.web;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
import org.junit.Test;
|
||||
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import static java.util.Collections.singletonMap;
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
|
||||
public class JsonEnricherBaseTest {
|
||||
|
||||
private ObjectMapper objectMapper = new ObjectMapper();
|
||||
private TestJsonEnricher enricher = new TestJsonEnricher(objectMapper);
|
||||
|
||||
@Test
|
||||
public void testResultHasMediaType() {
|
||||
JsonEnricherContext context = new JsonEnricherContext(null, MediaType.APPLICATION_JSON_TYPE, null);
|
||||
|
||||
assertThat(enricher.resultHasMediaType(MediaType.APPLICATION_JSON, context)).isTrue();
|
||||
assertThat(enricher.resultHasMediaType(MediaType.APPLICATION_XML, context)).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testAppendLink() {
|
||||
ObjectNode root = objectMapper.createObjectNode();
|
||||
ObjectNode links = objectMapper.createObjectNode();
|
||||
root.set("_links", links);
|
||||
JsonEnricherContext context = new JsonEnricherContext(null, MediaType.APPLICATION_JSON_TYPE, root);
|
||||
enricher.enrich(context);
|
||||
|
||||
assertThat(links.get("awesome").get("href").asText()).isEqualTo("/my/awesome/link");
|
||||
}
|
||||
|
||||
private static class TestJsonEnricher extends JsonEnricherBase {
|
||||
|
||||
public TestJsonEnricher(ObjectMapper objectMapper) {
|
||||
super(objectMapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void enrich(JsonEnricherContext context) {
|
||||
JsonNode gitConfigRefNode = createObject(singletonMap("href", value("/my/awesome/link")));
|
||||
|
||||
addPropertyNode(context.getResponseEntity().get("_links"), "awesome", gitConfigRefNode);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user