Skip to content

Commit 62310e3

Browse files
committed
[uniffi] Re-introduce async Python tests
This creates async tests for most of our sync tests.
1 parent 71ba234 commit 62310e3

6 files changed

+84
-4
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import asyncio
2+
3+
from mls_rs_uniffi import Client, CipherSuite, generate_signature_keypair, client_config_default
4+
5+
6+
async def scenario():
7+
client_config = client_config_default()
8+
key = await generate_signature_keypair(CipherSuite.CURVE25519_AES128)
9+
alice = Client(b'alice', key, client_config)
10+
11+
group = await alice.create_group(None)
12+
await group.write_to_storage()
13+
14+
15+
asyncio.run(scenario())
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
from mls_rs_uniffi import CipherSuite, generate_signature_keypair
2+
import asyncio
3+
4+
5+
async def scenario():
6+
signature_keypair = await generate_signature_keypair(
7+
CipherSuite.CURVE25519_AES128)
8+
assert signature_keypair.cipher_suite == CipherSuite.CURVE25519_AES128
9+
10+
11+
asyncio.run(scenario())
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import asyncio
2+
3+
from mls_rs_uniffi import CipherSuite, generate_signature_keypair, Client, \
4+
client_config_default
5+
6+
7+
async def scenario():
8+
client_config = client_config_default()
9+
client_config.use_ratchet_tree_extension = False
10+
11+
key = await generate_signature_keypair(CipherSuite.CURVE25519_AES128)
12+
alice = Client(b'alice', key, client_config)
13+
14+
group = await alice.create_group(None)
15+
commit = await group.commit()
16+
17+
assert commit.ratchet_tree is not None
18+
19+
20+
asyncio.run(scenario())

mls-rs-uniffi/tests/scenarios.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,11 @@ macro_rules! generate_python_tests {
4242
};
4343
}
4444

45-
generate_python_tests!(generate_signature_keypair, None);
46-
generate_python_tests!(client_config_default_sync, None);
45+
generate_python_tests!(
46+
generate_signature_keypair_sync,
47+
generate_signature_keypair_async
48+
);
49+
generate_python_tests!(client_config_default_sync, client_config_default_async);
4750
generate_python_tests!(custom_storage_sync, None);
48-
generate_python_tests!(simple_scenario_sync, None);
49-
generate_python_tests!(ratchet_tree_sync, None);
51+
generate_python_tests!(simple_scenario_sync, simple_scenario_async);
52+
generate_python_tests!(ratchet_tree_sync, ratchet_tree_async);
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import asyncio
2+
3+
from mls_rs_uniffi import CipherSuite, generate_signature_keypair, Client, \
4+
client_config_default
5+
6+
7+
async def scenario():
8+
client_config = client_config_default()
9+
10+
key = await generate_signature_keypair(CipherSuite.CURVE25519_AES128)
11+
alice = Client(b'alice', key, client_config)
12+
13+
key = await generate_signature_keypair(CipherSuite.CURVE25519_AES128)
14+
bob = Client(b'bob', key, client_config)
15+
16+
alice = await alice.create_group(None)
17+
message = await bob.generate_key_package_message()
18+
19+
commit = await alice.add_members([message])
20+
await alice.process_incoming_message(commit.commit_message)
21+
bob = (await bob.join_group(None, commit.welcome_messages[0])).group
22+
23+
msg = await alice.encrypt_application_message(b'hello, bob')
24+
output = await bob.process_incoming_message(msg)
25+
26+
await alice.write_to_storage()
27+
28+
assert output.data == b'hello, bob'
29+
30+
31+
asyncio.run(scenario())

0 commit comments

Comments
 (0)