Skip to content

Commit

Permalink
Add (and test) missing member::set_name function
Browse files Browse the repository at this point in the history
  • Loading branch information
jagerman committed Oct 3, 2023
1 parent 1b92850 commit cda4d32
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 1 deletion.
6 changes: 6 additions & 0 deletions src/config/groups/members.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,12 @@ void member::into(config_group_member& m) const {
m.promoted = promotion_status;
}

void member::set_name(std::string n) {
if (n.size() > MAX_NAME_LENGTH)
throw std::invalid_argument{"Invalid member name: exceeds maximum length"};
name = std::move(n);
}

} // namespace session::config::groups

using namespace session;
Expand Down
4 changes: 3 additions & 1 deletion tests/test_group_members.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ TEST_CASE("Group Members", "[config][groups][members]") {
// 10 members:
for (int i = 10; i < 20; i++) {
auto m = gmem1.get_or_construct(sids[i]);
m.name = "Member " + std::to_string(i);
m.set_name("Member " + std::to_string(i));
m.profile_picture.url = "http://example.com/" + std::to_string(i);
m.profile_picture.key =
"abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcd"_hexbytes;
Expand All @@ -93,6 +93,8 @@ TEST_CASE("Group Members", "[config][groups][members]") {
gmem1.set(m);
}

REQUIRE_THROWS(gmem1.get(sids[14])->set_name(std::string(200, 'c')));

CHECK(gmem1.needs_push());
auto [s1, p1, o1] = gmem1.push();
CHECK(p1.size() == 768);
Expand Down

0 comments on commit cda4d32

Please sign in to comment.