diff --git a/ballerina/Ballerina.toml b/ballerina/Ballerina.toml index 43f0a37..40ce376 100644 --- a/ballerina/Ballerina.toml +++ b/ballerina/Ballerina.toml @@ -2,7 +2,7 @@ distribution = "2201.7.0" org = "ballerinax" name = "mongodb" -version = "5.0.0" +version = "5.0.1" license= ["Apache-2.0"] authors = ["Ballerina"] keywords = ["IT Operations/Databases", "Cost/Freemium"] @@ -15,8 +15,8 @@ graalvmCompatible = true [[platform.java17.dependency]] groupId = "io.ballerina.lib" artifactId = "mongodb-native" -version = "5.0.0" -path = "../native/build/libs/mongodb-native-5.0.0.jar" +version = "5.0.1-SNAPSHOT" +path = "../native/build/libs/mongodb-native-5.0.1-SNAPSHOT.jar" [[platform.java17.dependency]] groupId = "org.mongodb" diff --git a/ballerina/Dependencies.toml b/ballerina/Dependencies.toml index 52be793..5a3d9f0 100644 --- a/ballerina/Dependencies.toml +++ b/ballerina/Dependencies.toml @@ -5,12 +5,12 @@ [ballerina] dependencies-toml-version = "2" -distribution-version = "2201.8.6" +distribution-version = "2201.8.0" [[package]] org = "ballerina" name = "crypto" -version = "2.5.0" +version = "2.6.2" dependencies = [ {org = "ballerina", name = "jballerina.java"}, {org = "ballerina", name = "time"} @@ -99,7 +99,7 @@ dependencies = [ [[package]] org = "ballerinax" name = "mongodb" -version = "5.0.0" +version = "5.0.1" dependencies = [ {org = "ballerina", name = "crypto"}, {org = "ballerina", name = "jballerina.java"}, diff --git a/ballerina/tests/03_collection_tests.bal b/ballerina/tests/03_collection_tests.bal index 91b4b74..9161896 100644 --- a/ballerina/tests/03_collection_tests.bal +++ b/ballerina/tests/03_collection_tests.bal @@ -47,7 +47,7 @@ isolated function testInsertAndFind() returns error? { } @test:Config { - groups: ["collection", "insert", "insertOne", "find", "projection", "test"] + groups: ["collection", "insert", "insertOne", "find", "projection"] } isolated function testFindOne() returns error? { Database database = check mongoClient->getDatabase("testFindOneDB"); @@ -361,20 +361,21 @@ isolated function testUpdateUnset() returns error? { updateResult = check collection->updateOne({name: "Walter White"}, {"unset": {"address.country": ""}}); test:assertEquals(updateResult.matchedCount, 1); test:assertEquals(updateResult.modifiedCount, 1); - result = check collection->find({name: "Walter White"}); + stream findResult = check collection->find({name: "Walter White"}); - // Trapping the type conversion error and checking for the relevant error message. - // This is to confirm the field is removed from the document. - record {Person value;}|error? movieResult = trap result.next(); - if movieResult !is error { - test:assertFail("Expected an error"); + record {|anydata...;|}? movieResult = check findResult.next(); + if movieResult is () { + test:assertFail("Expected a record value from the stream"); } - var detail = movieResult.detail(); - if detail !is anydata { - test:assertFail("Expected anydata type for error detail"); + if movieResult.hasKey("address") { + var address = movieResult["address"]; + if address !is map { + test:assertFail("Expected a map value for the `address` field"); + } + if address.hasKey("country") { + test:assertFail("Expected the `country` field to be removed from the `address` field"); + } } - string message = detail["message"].toString(); - test:assertTrue(message.includes("missing required field 'address.country' of type 'string'")); check result.close(); check collection->drop(); check database->drop();