From f5ee21fb1e3f391005c274e915d80c8fa0ecccda Mon Sep 17 00:00:00 2001 From: Thisaru Guruge Date: Mon, 15 Apr 2024 13:42:03 +0530 Subject: [PATCH] Fix failing tests with Update 9 --- ballerina/Dependencies.toml | 2 +- ballerina/tests/03_collection_tests.bal | 25 +++++++++++++------------ 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ballerina/Dependencies.toml b/ballerina/Dependencies.toml index 5f447de..5a3d9f0 100644 --- a/ballerina/Dependencies.toml +++ b/ballerina/Dependencies.toml @@ -5,7 +5,7 @@ [ballerina] dependencies-toml-version = "2" -distribution-version = "2201.8.6" +distribution-version = "2201.8.0" [[package]] org = "ballerina" 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();