diff --git a/scm-core/pom.xml b/scm-core/pom.xml
index a3fa037c7b..761a784258 100644
--- a/scm-core/pom.xml
+++ b/scm-core/pom.xml
@@ -94,6 +94,12 @@
javax.ws.rs-api
+
+ org.jboss.resteasy
+ resteasy-jaxrs
+ test
+
+
diff --git a/scm-core/src/test/java/sonia/scm/web/JsonEnricherBaseTest.java b/scm-core/src/test/java/sonia/scm/web/JsonEnricherBaseTest.java
new file mode 100644
index 0000000000..43ed4940fa
--- /dev/null
+++ b/scm-core/src/test/java/sonia/scm/web/JsonEnricherBaseTest.java
@@ -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);
+ }
+ }
+
+}