From ba11c9a1e41384fd065d4cb21beab3182651a066 Mon Sep 17 00:00:00 2001 From: jrh3 Date: Thu, 12 Sep 2019 14:34:30 -0400 Subject: Add yaml support to pap rest server Change-Id: I3e3d5c46bfa4f1d093e64b8be9a9720570e6000c Issue-ID: POLICY-2085 Signed-off-by: jrh3 --- .../org/onap/policy/pap/main/rest/PapRestControllerV1.java | 8 +++++--- .../onap/policy/pap/main/rest/PapRestControllerV1Test.java | 11 +++++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) (limited to 'main/src') diff --git a/main/src/main/java/org/onap/policy/pap/main/rest/PapRestControllerV1.java b/main/src/main/java/org/onap/policy/pap/main/rest/PapRestControllerV1.java index c4b7b4a4..43b6b48b 100644 --- a/main/src/main/java/org/onap/policy/pap/main/rest/PapRestControllerV1.java +++ b/main/src/main/java/org/onap/policy/pap/main/rest/PapRestControllerV1.java @@ -43,7 +43,7 @@ import org.onap.policy.models.base.PfModelException; // @formatter:off @Path("/policy/pap/v1") @Api(value = "Policy Administration (PAP) API") -@Produces(MediaType.APPLICATION_JSON) +@Produces({MediaType.APPLICATION_JSON, PapRestControllerV1.APPLICATION_YAML}) @SwaggerDefinition( info = @Info(description = "Policy Administration is responsible for the deployment life cycle of policies as well as " @@ -52,13 +52,15 @@ import org.onap.policy.models.base.PfModelException; + " ensuring that policies are available to users, that policies are executing correctly," + " and that the state and status of policies is monitored", version = "v1.0", title = "Policy Administration"), - consumes = {MediaType.APPLICATION_JSON}, - produces = {MediaType.APPLICATION_JSON}, + consumes = {MediaType.APPLICATION_JSON, PapRestControllerV1.APPLICATION_YAML}, + produces = {MediaType.APPLICATION_JSON, PapRestControllerV1.APPLICATION_YAML}, schemes = {SwaggerDefinition.Scheme.HTTP, SwaggerDefinition.Scheme.HTTPS}, tags = {@Tag(name = "policy-administration", description = "Policy Administration Service Operations")}, securityDefinition = @SecurityDefinition(basicAuthDefinitions = {@BasicAuthDefinition(key = "basicAuth")})) // @formatter:on public class PapRestControllerV1 { + public static final String APPLICATION_YAML = "application/yaml"; + public static final String EXTENSION_NAME = "interface info"; public static final String API_VERSION_NAME = "api-version"; diff --git a/main/src/test/java/org/onap/policy/pap/main/rest/PapRestControllerV1Test.java b/main/src/test/java/org/onap/policy/pap/main/rest/PapRestControllerV1Test.java index 317ab1c1..d8e6963f 100644 --- a/main/src/test/java/org/onap/policy/pap/main/rest/PapRestControllerV1Test.java +++ b/main/src/test/java/org/onap/policy/pap/main/rest/PapRestControllerV1Test.java @@ -20,10 +20,13 @@ package org.onap.policy.pap.main.rest; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.UUID; +import javax.ws.rs.Produces; +import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.ResponseBuilder; import org.junit.Before; @@ -40,6 +43,14 @@ public class PapRestControllerV1Test { bldr = Response.status(Response.Status.OK); } + @Test + public void testProduces() { + Produces annotation = PapRestControllerV1.class.getAnnotation(Produces.class); + assertNotNull(annotation); + assertThat(annotation.value()).contains(MediaType.APPLICATION_JSON) + .contains(PapRestControllerV1.APPLICATION_YAML); + } + @Test public void testAddVersionControlHeaders() { Response resp = ctlr.addVersionControlHeaders(bldr).build(); -- cgit 1.2.3-korg