From: Tom Pantelis Date: Wed, 28 Feb 2018 19:13:38 +0000 (-0500) Subject: Restconf 8040 should return 204 for delete and put X-Git-Tag: release/fluorine~143 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=commitdiff_plain;h=0fc2633cdf44d105517c1ac7e22fae5d51a4f0b5;p=netconf.git Restconf 8040 should return 204 for delete and put restconf was returning 200 Ok but according to RCF8040, for put, "If an existing resource is modified, a "204 No Content" status-line is returned."" and for delete, "If the DELETE request succeeds, a "204 No Content" status-line is returned.". Change-Id: I7133cdd747c1869d6b640c873bbcdccd437e8900 Signed-off-by: Tom Pantelis --- diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtil.java index 94945a33e1..dd293479a9 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtil.java @@ -38,7 +38,7 @@ public final class DeleteDataTransactionUtil { final CheckedFuture future = submitData( transactionNode.getTransactionChain(), transactionNode.getTransactionChain().newReadWriteTransaction(), transactionNode.getInstanceIdentifier().getInstanceIdentifier()); - final ResponseFactory response = new ResponseFactory(Status.OK); + final ResponseFactory response = new ResponseFactory(Status.NO_CONTENT); FutureCallbackTx.addCallback(future, RestconfDataServiceConstant.DeleteData.DELETE_TX_TYPE, response); return response.build(); } diff --git a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtil.java b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtil.java index a9cff57b02..9e3130cb67 100644 --- a/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtil.java +++ b/restconf/restconf-nb-rfc8040/src/main/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/PutDataTransactionUtil.java @@ -170,7 +170,8 @@ public final class PutDataTransactionUtil { final FutureDataFactory existsResponse = new FutureDataFactory<>(); FutureCallbackTx.addCallback(existsFuture, RestconfDataServiceConstant.PutData.PUT_TX_TYPE, existsResponse); - final ResponseFactory responseFactory = new ResponseFactory(existsResponse.result ? Status.OK : Status.CREATED); + final ResponseFactory responseFactory = + new ResponseFactory(existsResponse.result ? Status.NO_CONTENT : Status.CREATED); final CheckedFuture submitData = submitData(path, schemaContext, transactionNode.getTransactionChain(), readWriteTransaction, payload.getData(), insert, point); FutureCallbackTx.addCallback(submitData, RestconfDataServiceConstant.PutData.PUT_TX_TYPE, responseFactory); diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImplTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImplTest.java index 085a8a3697..acde252103 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImplTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/services/impl/RestconfDataServiceImplTest.java @@ -328,7 +328,7 @@ public class RestconfDataServiceImplTest { doReturn(Futures.immediateCheckedFuture(null)).when(this.readWrite).submit(); final Response response = this.dataService.putData(null, payload, this.uriInfo); assertNotNull(response); - assertEquals(200, response.getStatus()); + assertEquals(Response.Status.NO_CONTENT.getStatusCode(), response.getStatus()); } @Test @@ -347,7 +347,7 @@ public class RestconfDataServiceImplTest { doReturn(Futures.immediateCheckedFuture(null)).when(this.readWrite).submit(); final Response response = this.dataService.putData(null, payload, this.uriInfo); assertNotNull(response); - assertEquals(200, response.getStatus()); + assertEquals(Response.Status.NO_CONTENT.getStatusCode(), response.getStatus()); } @Test @@ -403,7 +403,7 @@ public class RestconfDataServiceImplTest { .when(this.readWrite).exists(LogicalDatastoreType.CONFIGURATION, this.iidBase); final Response response = this.dataService.deleteData("example-jukebox:jukebox"); assertNotNull(response); - assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); + assertEquals(Response.Status.NO_CONTENT.getStatusCode(), response.getStatus()); } /** @@ -418,7 +418,7 @@ public class RestconfDataServiceImplTest { final Response response = this.dataService.deleteData("example-jukebox:jukebox/yang-ext:mount/example-jukebox:jukebox"); assertNotNull(response); - assertEquals(Response.Status.OK.getStatusCode(), response.getStatus()); + assertEquals(Response.Status.NO_CONTENT.getStatusCode(), response.getStatus()); } @Test diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtilTest.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtilTest.java index f64f6e8d06..e71982a3a0 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtilTest.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/rests/utils/DeleteDataTransactionUtilTest.java @@ -92,7 +92,7 @@ public class DeleteDataTransactionUtilTest { new TransactionVarsWrapper(this.context, null, this.transactionChain)); // assert success - assertEquals("Not expected response received", Status.OK.getStatusCode(), response.getStatus()); + assertEquals("Not expected response received", Status.NO_CONTENT.getStatusCode(), response.getStatus()); } /** @@ -115,4 +115,4 @@ public class DeleteDataTransactionUtilTest { assertEquals(404, e.getErrors().get(0).getErrorTag().getStatusCode()); } } -} \ No newline at end of file +}