Skip to content

Commit 042bc22

Browse files
github-actions[bot]shaunrd0ypatia
authored
[Backport release-2.30] Update relative groups unit test after server side changes. (#5704) (#5706)
Backport of #5704 to release-2.30 --- TYPE: NO_HISTORY --------- Co-authored-by: Shaun Reed <[email protected]> Co-authored-by: Ypatia Tsavliri <[email protected]>
1 parent 9fc5c32 commit 042bc22

File tree

1 file changed

+28
-21
lines changed

1 file changed

+28
-21
lines changed

test/src/unit-cppapi-group.cc

Lines changed: 28 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,39 +1130,46 @@ TEST_CASE(
11301130
auto created_group_uri = vfs.ls(vfs_test_setup.default_storage()).back();
11311131
// Creates a new group at a relative backend storage location using S3 URI.
11321132
REQUIRE_NOTHROW(
1133-
tiledb::create_group(ctx, created_group_uri + "/groups/relative_group"));
1133+
tiledb::create_group(ctx, created_group_uri + "/relative_group2"));
11341134

1135-
auto group = tiledb::Group(ctx, group_uri, TILEDB_WRITE);
1136-
// Attempts to add the same array as a member with the same name.
1137-
CHECK_NOTHROW(group.add_member("relative_array", true, "relative_array"));
1138-
CHECK_NOTHROW(
1139-
group.add_member("relative_array", true, "relative_array_rename"));
1140-
CHECK_NOTHROW(group.add_member("relative_group", true, "relative_group"));
1141-
// Add the relative member we created on S3 to the parent group after creation
1135+
auto group_w1 = tiledb::Group(ctx, group_uri, TILEDB_WRITE);
1136+
// Add the relative member we created on S3 to the parent group after
1137+
// creation
11421138
CHECK_NOTHROW(
1143-
group.add_member("groups/relative_group", true, "relative_group_nested"));
1139+
group_w1.add_member("relative_group2", true, "relative_group2"));
1140+
REQUIRE_NOTHROW(group_w1.close());
1141+
1142+
// Attempts to add the same array as a member with the same name.
1143+
auto group_w2 = tiledb::Group(ctx, group_uri, TILEDB_WRITE);
1144+
CHECK_NOTHROW(group_w2.add_member("relative_array", true, "relative_array"));
1145+
REQUIRE_THROWS(group_w2.close());
1146+
1147+
// Attempts to add the same array as a member with a different name.
1148+
auto group_w3 = tiledb::Group(ctx, group_uri, TILEDB_WRITE);
11441149
CHECK_NOTHROW(
1145-
group.add_member("relative_group", true, "relative_group_rename"));
1146-
REQUIRE_NOTHROW(group.close());
1150+
group_w3.add_member("relative_array", true, "relative_array_rename"));
1151+
REQUIRE_THROWS(group_w3.close());
1152+
1153+
// Attempts to add the same group as a member with the same name.
1154+
auto group_w4 = tiledb::Group(ctx, group_uri, TILEDB_WRITE);
1155+
CHECK_NOTHROW(group_w4.add_member("relative_group", true, "relative_group"));
1156+
REQUIRE_THROWS(group_w4.close());
11471157

1148-
REQUIRE_NOTHROW(group.open(TILEDB_READ));
1158+
auto group_r = tiledb::Group(ctx, group_uri, TILEDB_READ);
11491159
tiledb::sm::URI member_uri(array_member_uri);
1150-
CHECK(group.member_count() == 5);
1151-
for (const std::string name :
1152-
{"relative_array",
1153-
"relative_array_rename",
1154-
"relative_group",
1155-
"relative_group_nested",
1156-
"relative_group_rename"}) {
1157-
auto member = group.member(name);
1160+
std::vector<std::string> expected_members = {
1161+
"relative_array", "relative_group", "relative_group2"};
1162+
CHECK(group_r.member_count() == expected_members.size());
1163+
for (const std::string& name : expected_members) {
1164+
auto member = group_r.member(name);
11581165
auto object_type = tiledb::Object::Type::Group;
11591166
if (name.find("array") != std::string::npos) {
11601167
object_type = tiledb::Object::Type::Array;
11611168
}
11621169
CHECK(member.type() == object_type);
11631170
CHECK(member.name() == name);
11641171
CHECK(member.uri() == group_uri + "/" + name);
1165-
CHECK(group.is_relative(name));
1172+
CHECK(group_r.is_relative(name));
11661173
}
11671174
}
11681175

0 commit comments

Comments
 (0)