diff --git a/.fleet/run.json b/.fleet/run.json deleted file mode 100644 index 6ca6a5c..0000000 --- a/.fleet/run.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "configurations": [ - { - "type": "maven", - "name": "Test", - "tasks": ["test"] - }, - - ] -} \ No newline at end of file diff --git a/.fleet/settings.json b/.fleet/settings.json deleted file mode 100644 index e69de29..0000000 diff --git a/nb-configuration.xml b/nb-configuration.xml new file mode 100644 index 0000000..3486bc9 --- /dev/null +++ b/nb-configuration.xml @@ -0,0 +1,18 @@ + + + + + + all + + diff --git a/src/main/java/net/dontcode/data/DataResource.java b/src/main/java/net/dontcode/data/DataResource.java index c0a26d7..be89141 100644 --- a/src/main/java/net/dontcode/data/DataResource.java +++ b/src/main/java/net/dontcode/data/DataResource.java @@ -1,5 +1,7 @@ package net.dontcode.data; +import com.mongodb.client.model.FindOneAndReplaceOptions; +import com.mongodb.client.model.ReturnDocument; import io.quarkus.mongodb.MongoClientName; import io.quarkus.mongodb.reactive.ReactiveMongoClient; import io.quarkus.mongodb.reactive.ReactiveMongoCollection; @@ -65,9 +67,9 @@ public Uni getEntity (@PathParam("entityName") String entityName, @Pat @Path("/{entityName}/{entityId}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - public Uni updateProject (@PathParam("entityName") String entityName, @PathParam("entityId") String entityId, @HeaderParam("DbName") String dbName, Document body) { + public Uni replaceEntity (@PathParam("entityName") String entityName, @PathParam("entityId") String entityId, @HeaderParam("DbName") String dbName, Document body) { changeIdToObjectId(body); - Uni ret = getEntities(entityName, dbName).findOneAndReplace(new Document().append("_id", body.get("_id")), body).map(document -> { + Uni ret = getEntities(entityName, dbName).findOneAndReplace(new Document().append("_id", body.get("_id")), body, new FindOneAndReplaceOptions().upsert(false).returnDocument(ReturnDocument.AFTER)).map(document -> { if( document != null) { changeIdToString(document); return Response.ok(document).build(); @@ -90,7 +92,7 @@ protected void changeIdToString(Document body) { @Path("/{entityName}/{entityId}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - public Uni deleteProject (@PathParam("entityName") String entityName, @PathParam("entityId") String entityId, @HeaderParam("DbName") String dbName) { + public Uni deleteEntity (@PathParam("entityName") String entityName, @PathParam("entityId") String entityId, @HeaderParam("DbName") String dbName) { Uni ret = getEntities(entityName, dbName).findOneAndDelete(new Document().append("_id", new ObjectId(entityId))).map(document -> { if( document != null) { changeIdToString(document); @@ -106,7 +108,7 @@ public Uni deleteProject (@PathParam("entityName") String entityName, @Path("/{entityName}") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - public Uni insertProject(Document body, @PathParam("entityName") String entityName, @HeaderParam("DbName") String dbName) { + public Uni insertEntity(Document body, @PathParam("entityName") String entityName, @HeaderParam("DbName") String dbName) { //System.out.println("Received"+ body); return getEntities(entityName, dbName).insertOne(body).map(result -> { changeIdToString(body); diff --git a/src/test/java/net/dontcode/data/DataResourceTest.java b/src/test/java/net/dontcode/data/DataResourceTest.java index 6d772f3..1db46b0 100644 --- a/src/test/java/net/dontcode/data/DataResourceTest.java +++ b/src/test/java/net/dontcode/data/DataResourceTest.java @@ -36,18 +36,18 @@ public void testList () { Document doc = new Document(); AtomicReference error = new AtomicReference<>(); - doc.append("name","TestProject1").append("creation", new Date()); + doc.append("name","TestData1").append("creation", new Date()); removeEntities(entityName); removeEntities(otherEntityName); getEntities(entityName).insertOne(doc).onFailure().invoke(throwable -> { error.set(throwable); }).await().atMost(Duration.ofSeconds(10)); - doc.put("name","TestProject2"); + doc.put("name","TestData2"); doc.remove("_id"); getEntities(entityName).insertOne(doc).onFailure().invoke(throwable -> { error.set(throwable); }).await().atMost(Duration.ofSeconds(10)); - doc.put("name","OtherTestProject"); + doc.put("name","OtherData"); doc.remove("_id"); getEntities(otherEntityName).insertOne(doc).onFailure().invoke(throwable -> { error.set(throwable); @@ -58,10 +58,10 @@ public void testList () { Assertions.assertNull(isError, "Error writing test data to Mongo "+errorMessage); given().accept(ContentType.JSON).when().get("/{entityName}",entityName).then().statusCode(HttpStatus.SC_OK) - .body("[0].name", Matchers.equalTo("TestProject1")).body( "[1].name", Matchers.equalTo("TestProject2") ); + .body("[0].name", Matchers.equalTo("TestData1")).body( "[1].name", Matchers.equalTo("TestData2") ); given().accept(ContentType.JSON).when().get("/{entityName}",otherEntityName).then().statusCode(HttpStatus.SC_OK) - .body("[0].name", Matchers.equalTo("OtherTestProject") ); + .body("[0].name", Matchers.equalTo("OtherData") ); } @Test @@ -70,7 +70,7 @@ public void testCreateAndRead () { removeEntities(entityName); Document resp = given().contentType(ContentType.JSON).accept(ContentType.JSON).body("{" + - "\"name\":\"PrjCreated1\"," + + "\"name\":\"DataCreated1\"," + "\"creation\":\"2021-03-04\"" + "}").when().post("/{entityName}", entityName).then().statusCode(HttpStatus.SC_OK) .body("_id", Matchers.notNullValue() ) @@ -78,7 +78,7 @@ public void testCreateAndRead () { given().accept(ContentType.JSON).when().get("/{entityName}/{entityId}",entityName, resp.get("_id").toString()).then().statusCode(HttpStatus.SC_OK) - .body("name", Matchers.is("PrjCreated1")); + .body("name", Matchers.is("DataCreated1")); } @Test @@ -94,7 +94,7 @@ public void testCompleteFlow () { removeEntities(entityName); Document created = given().contentType(ContentType.JSON).accept(ContentType.JSON).body("{" + - "\"name\":\"PrjCreated2\"," + + "\"name\":\"DataCreated2\"," + "\"creation\":\"2021-05-05\"" + "}").when().post("/{entityName}", entityName).then().statusCode(HttpStatus.SC_OK) .body("_id", Matchers.notNullValue() ) @@ -102,19 +102,20 @@ public void testCompleteFlow () { String entityId = created.get("_id").toString(); given().accept(ContentType.JSON).when().get("/{entityName}/{entityId}", entityName, entityId).then().statusCode(HttpStatus.SC_OK) - .body("name", Matchers.is("PrjCreated2")); + .body("name", Matchers.is("DataCreated2")); Document updated = given().contentType(ContentType.JSON).accept(ContentType.JSON).body("{" + "\"_id\":\""+entityId+"\","+ - "\"name\":\"PrjUpdated2\"," + + "\"name\":\"DataUpdated2\"," + "\"creation\":\"2021-06-07\"" + "}").when().put("/{entityName}/{entityId}",entityName, entityId).then().statusCode(HttpStatus.SC_OK) .body("_id", Matchers.notNullValue() ) .and().extract().as(Document.class); Assertions.assertEquals(entityId, updated.get("_id").toString()); + Assertions.assertEquals("DataUpdated2", updated.get("name")); given().accept(ContentType.JSON).when().get("/{entityName}/{entityId}",entityName, entityId).then().statusCode(HttpStatus.SC_OK) - .body("name", Matchers.is("PrjUpdated2")) + .body("name", Matchers.is("DataUpdated2")) .body("_id", Matchers.equalTo(created.get("_id"))); given().accept(ContentType.JSON).when().delete("/{entityName}/{entityId}",entityName, entityId).then().statusCode(HttpStatus.SC_OK);