From b24a4f2f4edf845c10ef42545496256b0bdbb8a8 Mon Sep 17 00:00:00 2001 From: "andre.schmid" Date: Tue, 11 Oct 2022 14:20:40 +0100 Subject: [PATCH] Fix response of fetch data type endpoint MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit The catalog endpoint /v1/catalog/data-types/ is returning an Optional instead of the Data Type itself. Improves unit test to verify the response payload. Change-Id: I781917fb66225abf911a043370917e7b7a183bb1 Issue-ID: SDC-4211 Signed-off-by: André Schmid --- .../java/org/openecomp/sdc/be/servlets/DataTypeServlet.java | 10 ++++------ .../org/openecomp/sdc/be/servlets/DataTypeServletTest.java | 6 +++++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/DataTypeServlet.java b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/DataTypeServlet.java index 4456b8346e..d9846a7fb1 100644 --- a/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/DataTypeServlet.java +++ b/catalog-be/src/main/java/org/openecomp/sdc/be/servlets/DataTypeServlet.java @@ -84,9 +84,9 @@ public class DataTypeServlet extends BeGenericServlet { @PathParam("dataTypeUid") String dataTypeUid) { final String url = request.getMethod() + " " + request.getRequestURI(); log.debug("Start handle request of {} - modifier id is {}", url, userId); - final Optional dataTypeByUid; + final Optional dataTypeFoundOptional; try { - dataTypeByUid = dataTypeOperation.getDataTypeByUid(dataTypeUid); + dataTypeFoundOptional = dataTypeOperation.getDataTypeByUid(dataTypeUid); } catch (final BusinessException e) { throw e; } catch (final Exception ex) { @@ -95,10 +95,8 @@ public class DataTypeServlet extends BeGenericServlet { log.error(EcompLoggerErrorCode.UNKNOWN_ERROR, this.getClass().getName(), errorMsg, ex); return buildErrorResponse(getComponentsUtils().getResponseFormat(ActionStatus.GENERAL_ERROR)); } - if (dataTypeByUid.isEmpty()) { - throw new OperationException(ActionStatus.DATA_TYPE_NOT_FOUND, dataTypeUid); - } - return buildOkResponse(getComponentsUtils().getResponseFormat(ActionStatus.OK), dataTypeByUid); + var dataType = dataTypeFoundOptional.orElseThrow(() -> new OperationException(ActionStatus.DATA_TYPE_NOT_FOUND, dataTypeUid)); + return buildOkResponse(getComponentsUtils().getResponseFormat(ActionStatus.OK), dataType); } } diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DataTypeServletTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DataTypeServletTest.java index 39ba071a74..d916fffc12 100644 --- a/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DataTypeServletTest.java +++ b/catalog-be/src/test/java/org/openecomp/sdc/be/servlets/DataTypeServletTest.java @@ -98,8 +98,10 @@ class DataTypeServletTest extends JerseySpringBaseTest { @Test void fetchDataTypeTest_Success() { + final DataTypeDataDefinition expectedDataType = new DataTypeDataDefinition(); + expectedDataType.setUniqueId(DATA_TYPE_UID); when(componentsUtils.getResponseFormat(ActionStatus.OK)).thenReturn(new ResponseFormat(HttpStatus.SC_OK)); - when(dataTypeOperation.getDataTypeByUid(DATA_TYPE_UID)).thenReturn(Optional.of(new DataTypeDataDefinition())); + when(dataTypeOperation.getDataTypeByUid(DATA_TYPE_UID)).thenReturn(Optional.of(expectedDataType)); final Response response = target() .path(PATH) @@ -108,6 +110,8 @@ class DataTypeServletTest extends JerseySpringBaseTest { .get(Response.class); assertNotNull(response); assertEquals(HttpStatus.SC_OK, response.getStatus()); + final DataTypeDataDefinition actualDataType = response.readEntity(DataTypeDataDefinition.class); + assertEquals(expectedDataType.getUniqueId(), actualDataType.getUniqueId()); } @Test -- 2.16.6