blob: 1b8868146d4d660bd10c0bb02a0c5096dc26ac46 [file] [log] [blame]
from mls_rs_uniffi import Client, CipherSuite, generate_signature_keypair, client_config_default
client_config = client_config_default()
alice = Client(b'alice', generate_signature_keypair(CipherSuite.CURVE25519_AES128), client_config)
bob = Client(b'bob', generate_signature_keypair(CipherSuite.CURVE25519_AES128), client_config)
carla = Client(b'carla', generate_signature_keypair(CipherSuite.CURVE25519_AES128), client_config)
# Alice creates a group and adds Bob.
alice_group = alice.create_group(None)
output = alice_group.add_members([bob.generate_key_package_message()])
alice_group.process_incoming_message(output.commit_message)
# Bob join the group and adds Carla.
bob_group = bob.join_group(None, output.welcome_message).group
output = bob_group.add_members([carla.generate_key_package_message()])
bob_group.process_incoming_message(output.commit_message)
# Alice learns that Carla has been added to the group.
received = alice_group.process_incoming_message(output.commit_message)
assert received.roster_update.added == [carla.signing_identity()]
assert received.roster_update.removed == []
assert received.roster_update.updated == []