Skip to content

Commit a9aeb59

Browse files
committed
Add MasWriter test for e-mail and unsupported threepids
1 parent fbbbf5b commit a9aeb59

File tree

3 files changed

+100
-1
lines changed

3 files changed

+100
-1
lines changed

crates/syn2mas/src/mas_writer/mod.rs

Lines changed: 67 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,9 @@ mod test {
854854
use uuid::Uuid;
855855

856856
use crate::{
857-
mas_writer::{MasNewUser, MasNewUserPassword},
857+
mas_writer::{
858+
MasNewEmailThreepid, MasNewUnsupportedThreepid, MasNewUser, MasNewUserPassword,
859+
},
858860
LockedMasDatabase, MasWriter,
859861
};
860862

@@ -1018,4 +1020,68 @@ mod test {
10181020

10191021
assert_db_snapshot!(&mut conn);
10201022
}
1023+
1024+
/// Tests writing a single user, with an e-mail address associated.
1025+
#[sqlx::test(migrator = "mas_storage_pg::MIGRATOR")]
1026+
async fn test_write_user_with_email(pool: PgPool) {
1027+
let mut conn = pool.acquire().await.unwrap();
1028+
let mut writer = make_mas_writer(&pool, &mut conn).await;
1029+
1030+
writer
1031+
.write_users(vec![MasNewUser {
1032+
user_id: Uuid::from_u128(1u128),
1033+
username: "alice".to_owned(),
1034+
created_at: DateTime::default(),
1035+
locked_at: None,
1036+
can_request_admin: false,
1037+
}])
1038+
.await
1039+
.expect("failed to write user");
1040+
1041+
writer
1042+
.write_email_threepids(vec![MasNewEmailThreepid {
1043+
user_email_id: Uuid::from_u128(2u128),
1044+
user_id: Uuid::from_u128(1u128),
1045+
email: "[email protected]".to_owned(),
1046+
created_at: DateTime::default(),
1047+
}])
1048+
.await
1049+
.expect("failed to write e-mail");
1050+
1051+
writer.finish().await.expect("failed to finish MasWriter");
1052+
1053+
assert_db_snapshot!(&mut conn);
1054+
}
1055+
1056+
/// Tests writing a single user, with a unsupported third-party ID associated.
1057+
#[sqlx::test(migrator = "mas_storage_pg::MIGRATOR")]
1058+
async fn test_write_user_with_unsupported_threepid(pool: PgPool) {
1059+
let mut conn = pool.acquire().await.unwrap();
1060+
let mut writer = make_mas_writer(&pool, &mut conn).await;
1061+
1062+
writer
1063+
.write_users(vec![MasNewUser {
1064+
user_id: Uuid::from_u128(1u128),
1065+
username: "alice".to_owned(),
1066+
created_at: DateTime::default(),
1067+
locked_at: None,
1068+
can_request_admin: false,
1069+
}])
1070+
.await
1071+
.expect("failed to write user");
1072+
1073+
writer
1074+
.write_unsupported_threepids(vec![MasNewUnsupportedThreepid {
1075+
user_id: Uuid::from_u128(1u128),
1076+
medium: "msisdn".to_owned(),
1077+
address: "441189998819991197253".to_owned(),
1078+
created_at: DateTime::default(),
1079+
}])
1080+
.await
1081+
.expect("failed to write phone number (unsupported threepid)");
1082+
1083+
writer.finish().await.expect("failed to finish MasWriter");
1084+
1085+
assert_db_snapshot!(&mut conn);
1086+
}
10211087
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
source: crates/syn2mas/src/mas_writer/mod.rs
3+
expression: db_snapshot
4+
---
5+
user_emails:
6+
- confirmed_at: "1970-01-01 00:00:00+00"
7+
created_at: "1970-01-01 00:00:00+00"
8+
email: alice@example.org
9+
user_email_id: 00000000-0000-0000-0000-000000000002
10+
user_id: 00000000-0000-0000-0000-000000000001
11+
users:
12+
- can_request_admin: "false"
13+
created_at: "1970-01-01 00:00:00+00"
14+
locked_at: ~
15+
primary_user_email_id: ~
16+
user_id: 00000000-0000-0000-0000-000000000001
17+
username: alice
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
source: crates/syn2mas/src/mas_writer/mod.rs
3+
expression: db_snapshot
4+
---
5+
user_unsupported_third_party_ids:
6+
- address: "441189998819991197253"
7+
created_at: "1970-01-01 00:00:00+00"
8+
medium: msisdn
9+
user_id: 00000000-0000-0000-0000-000000000001
10+
users:
11+
- can_request_admin: "false"
12+
created_at: "1970-01-01 00:00:00+00"
13+
locked_at: ~
14+
primary_user_email_id: ~
15+
user_id: 00000000-0000-0000-0000-000000000001
16+
username: alice

0 commit comments

Comments
 (0)