This commit is contained in:
parent
406781570c
commit
7281340423
28 changed files with 111 additions and 126 deletions
|
@ -25,11 +25,8 @@ async fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
let db_config = config.database_url.parse().unwrap();
|
let db_config = config.database_url.parse().unwrap();
|
||||||
let db_client = &mut create_database_client(
|
let db_client =
|
||||||
&db_config,
|
&mut create_database_client(&db_config, config.tls_ca_file.as_deref()).await;
|
||||||
config.tls_ca_file.as_ref().map(|p| p.as_path()),
|
|
||||||
)
|
|
||||||
.await;
|
|
||||||
apply_migrations(db_client).await;
|
apply_migrations(db_client).await;
|
||||||
|
|
||||||
match subcmd {
|
match subcmd {
|
||||||
|
|
|
@ -127,6 +127,6 @@ mod tests {
|
||||||
assert_eq!(attachment.file_name, file_name);
|
assert_eq!(attachment.file_name, file_name);
|
||||||
assert_eq!(attachment.file_size.unwrap(), file_size as i32);
|
assert_eq!(attachment.file_size.unwrap(), file_size as i32);
|
||||||
assert_eq!(attachment.media_type.unwrap(), media_type);
|
assert_eq!(attachment.media_type.unwrap(), media_type);
|
||||||
assert_eq!(attachment.post_id.is_none(), true);
|
assert!(attachment.post_id.is_none());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,7 +172,7 @@ mod tests {
|
||||||
let post = create_post(db_client, &author.id, post_data).await.unwrap();
|
let post = create_post(db_client, &author.id, post_data).await.unwrap();
|
||||||
let reply_data = PostCreateData {
|
let reply_data = PostCreateData {
|
||||||
content: "reply".to_string(),
|
content: "reply".to_string(),
|
||||||
in_reply_to_id: Some(post.id.clone()),
|
in_reply_to_id: Some(post.id),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let mut reply = create_post(db_client, &author.id, reply_data)
|
let mut reply = create_post(db_client, &author.id, reply_data)
|
||||||
|
@ -182,8 +182,8 @@ mod tests {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(reply.in_reply_to.unwrap().id, post.id);
|
assert_eq!(reply.in_reply_to.unwrap().id, post.id);
|
||||||
assert_eq!(reply.repost_of.is_none(), true);
|
assert!(reply.repost_of.is_none());
|
||||||
assert_eq!(reply.linked.is_empty(), true);
|
assert!(reply.linked.is_empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -195,7 +195,7 @@ mod tests {
|
||||||
};
|
};
|
||||||
let db_client = &create_test_database().await;
|
let db_client = &create_test_database().await;
|
||||||
let result = can_view_post(db_client, None, &post).await.unwrap();
|
let result = can_view_post(db_client, None, &post).await.unwrap();
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -208,7 +208,7 @@ mod tests {
|
||||||
};
|
};
|
||||||
let db_client = &create_test_database().await;
|
let db_client = &create_test_database().await;
|
||||||
let result = can_view_post(db_client, Some(&user), &post).await.unwrap();
|
let result = can_view_post(db_client, Some(&user), &post).await.unwrap();
|
||||||
assert_eq!(result, false);
|
assert!(!result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -222,7 +222,7 @@ mod tests {
|
||||||
};
|
};
|
||||||
let db_client = &create_test_database().await;
|
let db_client = &create_test_database().await;
|
||||||
let result = can_view_post(db_client, Some(&user), &post).await.unwrap();
|
let result = can_view_post(db_client, Some(&user), &post).await.unwrap();
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -236,7 +236,7 @@ mod tests {
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let result = can_view_post(db_client, None, &post).await.unwrap();
|
let result = can_view_post(db_client, None, &post).await.unwrap();
|
||||||
assert_eq!(result, false);
|
assert!(!result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -254,7 +254,7 @@ mod tests {
|
||||||
let result = can_view_post(db_client, Some(&follower), &post)
|
let result = can_view_post(db_client, Some(&follower), &post)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -274,19 +274,13 @@ mod tests {
|
||||||
mentions: vec![subscriber.profile.clone()],
|
mentions: vec![subscriber.profile.clone()],
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
assert_eq!(can_view_post(db_client, None, &post).await.unwrap(), false,);
|
assert!(!can_view_post(db_client, None, &post).await.unwrap(),);
|
||||||
assert_eq!(
|
assert!(!can_view_post(db_client, Some(&follower), &post)
|
||||||
can_view_post(db_client, Some(&follower), &post)
|
|
||||||
.await
|
.await
|
||||||
.unwrap(),
|
.unwrap(),);
|
||||||
false,
|
assert!(can_view_post(db_client, Some(&subscriber), &post)
|
||||||
);
|
|
||||||
assert_eq!(
|
|
||||||
can_view_post(db_client, Some(&subscriber), &post)
|
|
||||||
.await
|
.await
|
||||||
.unwrap(),
|
.unwrap(),);
|
||||||
true,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -295,8 +289,8 @@ mod tests {
|
||||||
role: Role::NormalUser,
|
role: Role::NormalUser,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
assert_eq!(can_create_post(&user), true);
|
assert!(can_create_post(&user));
|
||||||
user.role = Role::ReadOnlyUser;
|
user.role = Role::ReadOnlyUser;
|
||||||
assert_eq!(can_create_post(&user), false);
|
assert!(!can_create_post(&user));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1348,10 +1348,10 @@ mod tests {
|
||||||
let post = create_post(db_client, &author.id, post_data).await.unwrap();
|
let post = create_post(db_client, &author.id, post_data).await.unwrap();
|
||||||
assert_eq!(post.content, "test post");
|
assert_eq!(post.content, "test post");
|
||||||
assert_eq!(post.author.id, author.id);
|
assert_eq!(post.author.id, author.id);
|
||||||
assert_eq!(post.attachments.is_empty(), true);
|
assert!(post.attachments.is_empty());
|
||||||
assert_eq!(post.mentions.is_empty(), true);
|
assert!(post.mentions.is_empty());
|
||||||
assert_eq!(post.tags.is_empty(), true);
|
assert!(post.tags.is_empty());
|
||||||
assert_eq!(post.links.is_empty(), true);
|
assert!(post.links.is_empty());
|
||||||
assert_eq!(post.updated_at, None);
|
assert_eq!(post.updated_at, None);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1401,7 +1401,7 @@ mod tests {
|
||||||
update_post(db_client, &post.id, post_data).await.unwrap();
|
update_post(db_client, &post.id, post_data).await.unwrap();
|
||||||
let post = get_post_by_id(db_client, &post.id).await.unwrap();
|
let post = get_post_by_id(db_client, &post.id).await.unwrap();
|
||||||
assert_eq!(post.content, "test update");
|
assert_eq!(post.content, "test update");
|
||||||
assert_eq!(post.updated_at.is_some(), true);
|
assert!(post.updated_at.is_some());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -1590,19 +1590,19 @@ mod tests {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(timeline.len(), 7);
|
assert_eq!(timeline.len(), 7);
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_1.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_1.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_2.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_2.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_3.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_3.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_4.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_4.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_5.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_5.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_6.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_6.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_7.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_7.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_8.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_8.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_9.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_9.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_10.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_10.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_11.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_11.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_12.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_12.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_13.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_13.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -1645,13 +1645,13 @@ mod tests {
|
||||||
// Reply
|
// Reply
|
||||||
let reply_data = PostCreateData {
|
let reply_data = PostCreateData {
|
||||||
content: "my reply".to_string(),
|
content: "my reply".to_string(),
|
||||||
in_reply_to_id: Some(post_1.id.clone()),
|
in_reply_to_id: Some(post_1.id),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let reply = create_post(db_client, &user.id, reply_data).await.unwrap();
|
let reply = create_post(db_client, &user.id, reply_data).await.unwrap();
|
||||||
// Repost
|
// Repost
|
||||||
let repost_data = PostCreateData {
|
let repost_data = PostCreateData {
|
||||||
repost_of_id: Some(reply.id.clone()),
|
repost_of_id: Some(reply.id),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let repost = create_post(db_client, &user.id, repost_data).await.unwrap();
|
let repost = create_post(db_client, &user.id, repost_data).await.unwrap();
|
||||||
|
@ -1661,12 +1661,12 @@ mod tests {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(timeline.len(), 2);
|
assert_eq!(timeline.len(), 2);
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_1.id), true);
|
assert!(timeline.iter().any(|post| post.id == post_1.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_2.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_2.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_3.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_3.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == post_4.id), false);
|
assert!(!timeline.iter().any(|post| post.id == post_4.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == reply.id), false);
|
assert!(!timeline.iter().any(|post| post.id == reply.id));
|
||||||
assert_eq!(timeline.iter().any(|post| post.id == repost.id), true);
|
assert!(timeline.iter().any(|post| post.id == repost.id));
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -1686,7 +1686,7 @@ mod tests {
|
||||||
let post_1 = create_post(db_client, &user.id, post_data_1).await.unwrap();
|
let post_1 = create_post(db_client, &user.id, post_data_1).await.unwrap();
|
||||||
let post_data_2 = PostCreateData {
|
let post_data_2 = PostCreateData {
|
||||||
content: "my reply".to_string(),
|
content: "my reply".to_string(),
|
||||||
in_reply_to_id: Some(post_1.id.clone()),
|
in_reply_to_id: Some(post_1.id),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let post_2 = create_post(db_client, &user.id, post_data_2).await.unwrap();
|
let post_2 = create_post(db_client, &user.id, post_data_2).await.unwrap();
|
||||||
|
|
|
@ -932,7 +932,7 @@ mod tests {
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let profile_data = ProfileCreateData {
|
let profile_data = ProfileCreateData {
|
||||||
username: "test".to_string(),
|
username: "test".to_string(),
|
||||||
emojis: vec![emoji.id.clone()],
|
emojis: vec![emoji.id],
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let profile = create_profile(db_client, profile_data).await.unwrap();
|
let profile = create_profile(db_client, profile_data).await.unwrap();
|
||||||
|
@ -1078,7 +1078,7 @@ mod tests {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let profile = get_profile_by_id(db_client, &profile.id).await.unwrap();
|
let profile = get_profile_by_id(db_client, &profile.id).await.unwrap();
|
||||||
assert_eq!(profile.unreachable_since.is_some(), true);
|
assert!(profile.unreachable_since.is_some());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -1089,6 +1089,6 @@ mod tests {
|
||||||
let profiles = find_empty_profiles(db_client, &updated_before)
|
let profiles = find_empty_profiles(db_client, &updated_before)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(profiles.is_empty(), true);
|
assert!(profiles.is_empty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -727,7 +727,7 @@ mod tests {
|
||||||
let target_has_followers = has_local_followers(db_client, target_actor_id)
|
let target_has_followers = has_local_followers(db_client, target_actor_id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(target_has_followers, true);
|
assert!(target_has_followers);
|
||||||
|
|
||||||
// Unfollow
|
// Unfollow
|
||||||
let follow_request_id = unfollow(db_client, &source.id, &target.id)
|
let follow_request_id = unfollow(db_client, &source.id, &target.id)
|
||||||
|
|
|
@ -249,6 +249,6 @@ mod tests {
|
||||||
)
|
)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(is_subscribed, true);
|
assert!(is_subscribed);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -420,7 +420,7 @@ mod tests {
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let user = create_user(db_client, user_data).await.unwrap();
|
let user = create_user(db_client, user_data).await.unwrap();
|
||||||
assert_eq!(user.client_config.is_empty(), true);
|
assert!(user.client_config.is_empty());
|
||||||
let client_name = "test";
|
let client_name = "test";
|
||||||
let client_config_value = json!({"a": 1});
|
let client_config_value = json!({"a": 1});
|
||||||
let client_config =
|
let client_config =
|
||||||
|
|
|
@ -85,8 +85,8 @@ mod tests {
|
||||||
fn test_deserialize_public_key_nowrap() {
|
fn test_deserialize_public_key_nowrap() {
|
||||||
let public_key_pem = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ehqQ7n6+pw19U8q2UtxE/9017STW3yRnnqV5nVk8LJ00ba+berqwekxDW+nw77GAu3TJ+hYeeSerUNPup7y3yO3V
|
let public_key_pem = "-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8ehqQ7n6+pw19U8q2UtxE/9017STW3yRnnqV5nVk8LJ00ba+berqwekxDW+nw77GAu3TJ+hYeeSerUNPup7y3yO3V
|
||||||
YsFtrgWDQ/s8k86sNBU+Ce2GOL7seh46kyAWgJeohh4Rcrr23rftHbvxOcRM8VzYuCeb1DgVhPGtA0xULwIDAQAB\n-----END PUBLIC KEY-----";
|
YsFtrgWDQ/s8k86sNBU+Ce2GOL7seh46kyAWgJeohh4Rcrr23rftHbvxOcRM8VzYuCeb1DgVhPGtA0xULwIDAQAB\n-----END PUBLIC KEY-----";
|
||||||
let result = deserialize_public_key(&public_key_pem);
|
let result = deserialize_public_key(public_key_pem);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -105,6 +105,6 @@ YsFtrgWDQ/s8k86sNBU+Ce2GOL7seh46kyAWgJeohh4Rcrr23rftHbvxOcRM8VzYuCeb1DgVhPGtA0xU
|
||||||
let public_key = RsaPublicKey::from(&private_key);
|
let public_key = RsaPublicKey::from(&private_key);
|
||||||
|
|
||||||
let is_valid = verify_rsa_sha256_signature(&public_key, &message, &signature);
|
let is_valid = verify_rsa_sha256_signature(&public_key, &message, &signature);
|
||||||
assert_eq!(is_valid, true);
|
assert!(is_valid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,6 @@ mod tests {
|
||||||
let password = "$test123";
|
let password = "$test123";
|
||||||
let password_hash = hash_password(password).unwrap();
|
let password_hash = hash_password(password).unwrap();
|
||||||
let result = verify_password(&password_hash, password);
|
let result = verify_password(&password_hash, password);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,7 +89,7 @@ mod tests {
|
||||||
fn test_get_hostname_email() {
|
fn test_get_hostname_email() {
|
||||||
let url = "mailto:user@example.org";
|
let url = "mailto:user@example.org";
|
||||||
let result = get_hostname(url);
|
let result = get_hostname(url);
|
||||||
assert_eq!(result.is_err(), true);
|
assert!(result.is_err());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -28,7 +28,7 @@ pub fn parse_identity_proof(
|
||||||
_actor_id: &str,
|
_actor_id: &str,
|
||||||
_attachment: &ActorAttachment,
|
_attachment: &ActorAttachment,
|
||||||
) -> Result<IdentityProof, ValidationError> {
|
) -> Result<IdentityProof, ValidationError> {
|
||||||
return Err(ValidationError("incorrect proof type".to_string()));
|
Err(ValidationError("incorrect proof type".to_string()))
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn attach_payment_option(
|
pub fn attach_payment_option(
|
||||||
|
|
|
@ -80,7 +80,7 @@ mod tests {
|
||||||
let follower_id = "https://test.remote/users/123";
|
let follower_id = "https://test.remote/users/123";
|
||||||
let activity = build_accept_follow(INSTANCE_URL, &target, follower_id, follow_activity_id);
|
let activity = build_accept_follow(INSTANCE_URL, &target, follower_id, follow_activity_id);
|
||||||
|
|
||||||
assert_eq!(activity.id.starts_with(INSTANCE_URL), true);
|
assert!(activity.id.starts_with(INSTANCE_URL));
|
||||||
assert_eq!(activity.activity_type, "Accept");
|
assert_eq!(activity.activity_type, "Accept");
|
||||||
assert_eq!(activity.object, follow_activity_id);
|
assert_eq!(activity.object, follow_activity_id);
|
||||||
assert_eq!(activity.to, vec![follower_id]);
|
assert_eq!(activity.to, vec![follower_id]);
|
||||||
|
|
|
@ -117,7 +117,7 @@ mod tests {
|
||||||
};
|
};
|
||||||
let post_id = "https://test.net/obj/123";
|
let post_id = "https://test.net/obj/123";
|
||||||
let post = Post {
|
let post = Post {
|
||||||
author: post_author.clone(),
|
author: post_author,
|
||||||
object_id: Some(post_id.to_string()),
|
object_id: Some(post_id.to_string()),
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
|
|
|
@ -339,7 +339,7 @@ mod tests {
|
||||||
note.attributed_to,
|
note.attributed_to,
|
||||||
format!("{}/users/{}", INSTANCE_URL, post.author.username),
|
format!("{}/users/{}", INSTANCE_URL, post.author.username),
|
||||||
);
|
);
|
||||||
assert_eq!(note.in_reply_to.is_none(), true);
|
assert!(note.in_reply_to.is_none());
|
||||||
assert_eq!(note.content, post.content);
|
assert_eq!(note.content, post.content);
|
||||||
assert_eq!(note.to, vec![AP_PUBLIC]);
|
assert_eq!(note.to, vec![AP_PUBLIC]);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
|
@ -367,7 +367,7 @@ mod tests {
|
||||||
note.to,
|
note.to,
|
||||||
vec![local_actor_followers(INSTANCE_URL, &post.author.username),]
|
vec![local_actor_followers(INSTANCE_URL, &post.author.username),]
|
||||||
);
|
);
|
||||||
assert_eq!(note.cc.is_empty(), true);
|
assert!(note.cc.is_empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -397,7 +397,7 @@ mod tests {
|
||||||
subscriber_id.to_string(),
|
subscriber_id.to_string(),
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
assert_eq!(note.cc.is_empty(), true);
|
assert!(note.cc.is_empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -421,7 +421,7 @@ mod tests {
|
||||||
let note = build_note(INSTANCE_HOSTNAME, INSTANCE_URL, &post);
|
let note = build_note(INSTANCE_HOSTNAME, INSTANCE_URL, &post);
|
||||||
|
|
||||||
assert_eq!(note.to, vec![mentioned_id]);
|
assert_eq!(note.to, vec![mentioned_id]);
|
||||||
assert_eq!(note.cc.is_empty(), true);
|
assert!(note.cc.is_empty());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -129,6 +129,6 @@ mod tests {
|
||||||
);
|
);
|
||||||
assert_eq!(activity.object, post_id);
|
assert_eq!(activity.object, post_id);
|
||||||
assert_eq!(activity.to, vec![post_author_id, AP_PUBLIC]);
|
assert_eq!(activity.to, vec![post_author_id, AP_PUBLIC]);
|
||||||
assert_eq!(activity.cc.is_empty(), true);
|
assert!(activity.cc.is_empty());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -357,7 +357,7 @@ mod tests {
|
||||||
HeaderValue::from_static(r#"application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1"#),
|
HeaderValue::from_static(r#"application/activity+json, application/ld+json; profile="https://www.w3.org/ns/activitystreams", text/html;q=0.1"#),
|
||||||
);
|
);
|
||||||
let result = is_activitypub_request(&request_headers);
|
let result = is_activitypub_request(&request_headers);
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -368,7 +368,7 @@ mod tests {
|
||||||
HeaderValue::from_static("application/activity+json"),
|
HeaderValue::from_static("application/activity+json"),
|
||||||
);
|
);
|
||||||
let result = is_activitypub_request(&request_headers);
|
let result = is_activitypub_request(&request_headers);
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -376,6 +376,6 @@ mod tests {
|
||||||
let mut request_headers = HeaderMap::new();
|
let mut request_headers = HeaderMap::new();
|
||||||
request_headers.insert(header::ACCEPT, HeaderValue::from_static("text/html"));
|
request_headers.insert(header::ACCEPT, HeaderValue::from_static("text/html"));
|
||||||
let result = is_activitypub_request(&request_headers);
|
let result = is_activitypub_request(&request_headers);
|
||||||
assert_eq!(result, false);
|
assert!(!result);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -107,10 +107,7 @@ mod tests {
|
||||||
r#"headers="(request-target) host date","#,
|
r#"headers="(request-target) host date","#,
|
||||||
r#"signature=""#,
|
r#"signature=""#,
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert!(headers.signature.starts_with(expected_signature_header),);
|
||||||
headers.signature.starts_with(expected_signature_header),
|
|
||||||
true,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -127,7 +124,7 @@ mod tests {
|
||||||
&signer_key,
|
&signer_key,
|
||||||
signer_key_id,
|
signer_key_id,
|
||||||
);
|
);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
|
|
||||||
let headers = result.unwrap();
|
let headers = result.unwrap();
|
||||||
assert_eq!(headers.host, "example.org");
|
assert_eq!(headers.host, "example.org");
|
||||||
|
@ -141,9 +138,6 @@ mod tests {
|
||||||
r#"headers="(request-target) host date digest","#,
|
r#"headers="(request-target) host date digest","#,
|
||||||
r#"signature=""#,
|
r#"signature=""#,
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert!(headers.signature.starts_with(expected_signature_header),);
|
||||||
headers.signature.starts_with(expected_signature_header),
|
|
||||||
true,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -183,7 +183,7 @@ mod tests {
|
||||||
request_headers.insert(header::HOST, HeaderValue::from_static("example.com"));
|
request_headers.insert(header::HOST, HeaderValue::from_static("example.com"));
|
||||||
request_headers.insert(
|
request_headers.insert(
|
||||||
HeaderName::from_static("date"),
|
HeaderName::from_static("date"),
|
||||||
HeaderValue::from_str(&date).unwrap(),
|
HeaderValue::from_str(date).unwrap(),
|
||||||
);
|
);
|
||||||
let signature_header = concat!(
|
let signature_header = concat!(
|
||||||
r#"keyId="https://myserver.org/actor#main-key","#,
|
r#"keyId="https://myserver.org/actor#main-key","#,
|
||||||
|
@ -245,6 +245,6 @@ mod tests {
|
||||||
|
|
||||||
let signer_public_key = RsaPublicKey::from(signer_key);
|
let signer_public_key = RsaPublicKey::from(signer_key);
|
||||||
let result = verify_http_signature(&signature_data, &signer_public_key);
|
let result = verify_http_signature(&signature_data, &signer_public_key);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,6 +80,6 @@ mod tests {
|
||||||
assert_eq!(post_metadata.external_url, post_url);
|
assert_eq!(post_metadata.external_url, post_url);
|
||||||
let created_at_attr = &post_metadata.attributes[0];
|
let created_at_attr = &post_metadata.attributes[0];
|
||||||
assert_eq!(created_at_attr.display_type, "date");
|
assert_eq!(created_at_attr.display_type, "date");
|
||||||
assert_eq!(created_at_attr.value.as_i64().is_some(), true);
|
assert!(created_at_attr.value.as_i64().is_some());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -120,7 +120,7 @@ pub async fn handle_movies_mentions(
|
||||||
current_user.profile.username,
|
current_user.profile.username,
|
||||||
post_id
|
post_id
|
||||||
);
|
);
|
||||||
delete_notification(&mut transaction, mention_notification.id).await?;
|
delete_notification(&transaction, mention_notification.id).await?;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Err(err) => return Err(err.into()),
|
Err(err) => return Err(err.into()),
|
||||||
|
@ -131,11 +131,11 @@ pub async fn handle_movies_mentions(
|
||||||
// Federate
|
// Federate
|
||||||
prepare_announce(&transaction, &config.instance(), ¤t_user, &repost)
|
prepare_announce(&transaction, &config.instance(), ¤t_user, &repost)
|
||||||
.await?
|
.await?
|
||||||
.enqueue(&mut transaction)
|
.enqueue(&transaction)
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
// Delete notification to avoid re-processing
|
// Delete notification to avoid re-processing
|
||||||
delete_notification(&mut transaction, mention_notification.id).await?;
|
delete_notification(&transaction, mention_notification.id).await?;
|
||||||
|
|
||||||
log::info!(
|
log::info!(
|
||||||
"Review as Mention of {} reposted with post id {}",
|
"Review as Mention of {} reposted with post id {}",
|
||||||
|
|
|
@ -171,6 +171,6 @@ mod tests {
|
||||||
|
|
||||||
let signer_public_key = RsaPublicKey::from(signer_key);
|
let signer_public_key = RsaPublicKey::from(signer_key);
|
||||||
let result = verify_rsa_json_signature(&signature_data, &signer_public_key);
|
let result = verify_rsa_json_signature(&signature_data, &signer_public_key);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -46,7 +46,7 @@ async fn main() -> std::io::Result<()> {
|
||||||
let db_pool_size = num_cpus::get() * 2;
|
let db_pool_size = num_cpus::get() * 2;
|
||||||
let db_pool = create_pool(
|
let db_pool = create_pool(
|
||||||
&config.database_url,
|
&config.database_url,
|
||||||
config.tls_ca_file.as_ref().map(|s| s.as_path()),
|
config.tls_ca_file.as_deref(),
|
||||||
db_pool_size,
|
db_pool_size,
|
||||||
);
|
);
|
||||||
let mut db_client = get_database_client(&db_pool).await.unwrap();
|
let mut db_client = get_database_client(&db_pool).await.unwrap();
|
||||||
|
|
|
@ -124,13 +124,13 @@ mod tests {
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.id, user_2.id);
|
assert_eq!(relationship.id, user_2.id);
|
||||||
assert_eq!(relationship.following, false);
|
assert!(!relationship.following);
|
||||||
assert_eq!(relationship.followed_by, false);
|
assert!(!relationship.followed_by);
|
||||||
assert_eq!(relationship.requested, false);
|
assert!(!relationship.requested);
|
||||||
assert_eq!(relationship.subscription_to, false);
|
assert!(!relationship.subscription_to);
|
||||||
assert_eq!(relationship.subscription_from, false);
|
assert!(!relationship.subscription_from);
|
||||||
assert_eq!(relationship.showing_reblogs, true);
|
assert!(relationship.showing_reblogs);
|
||||||
assert_eq!(relationship.showing_replies, true);
|
assert!(relationship.showing_replies);
|
||||||
// Follow request
|
// Follow request
|
||||||
let follow_request = create_follow_request(db_client, &user_1.id, &user_2.id)
|
let follow_request = create_follow_request(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
|
@ -138,9 +138,9 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, false);
|
assert!(!relationship.following);
|
||||||
assert_eq!(relationship.followed_by, false);
|
assert!(!relationship.followed_by);
|
||||||
assert_eq!(relationship.requested, true);
|
assert!(relationship.requested);
|
||||||
// Mutual follow
|
// Mutual follow
|
||||||
follow_request_accepted(db_client, &follow_request.id)
|
follow_request_accepted(db_client, &follow_request.id)
|
||||||
.await
|
.await
|
||||||
|
@ -149,17 +149,17 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, true);
|
assert!(relationship.following);
|
||||||
assert_eq!(relationship.followed_by, true);
|
assert!(relationship.followed_by);
|
||||||
assert_eq!(relationship.requested, false);
|
assert!(!relationship.requested);
|
||||||
// Unfollow
|
// Unfollow
|
||||||
unfollow(db_client, &user_1.id, &user_2.id).await.unwrap();
|
unfollow(db_client, &user_1.id, &user_2.id).await.unwrap();
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, false);
|
assert!(!relationship.following);
|
||||||
assert_eq!(relationship.followed_by, true);
|
assert!(relationship.followed_by);
|
||||||
assert_eq!(relationship.requested, false);
|
assert!(!relationship.requested);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -172,8 +172,8 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.subscription_to, true);
|
assert!(relationship.subscription_to);
|
||||||
assert_eq!(relationship.subscription_from, false);
|
assert!(!relationship.subscription_from);
|
||||||
|
|
||||||
unsubscribe(db_client, &user_1.id, &user_2.id)
|
unsubscribe(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
|
@ -181,8 +181,8 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.subscription_to, false);
|
assert!(!relationship.subscription_to);
|
||||||
assert_eq!(relationship.subscription_from, false);
|
assert!(!relationship.subscription_from);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
|
@ -194,8 +194,8 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, true);
|
assert!(relationship.following);
|
||||||
assert_eq!(relationship.showing_reblogs, true);
|
assert!(relationship.showing_reblogs);
|
||||||
|
|
||||||
hide_reposts(db_client, &user_1.id, &user_2.id)
|
hide_reposts(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
|
@ -203,8 +203,8 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, true);
|
assert!(relationship.following);
|
||||||
assert_eq!(relationship.showing_reblogs, false);
|
assert!(!relationship.showing_reblogs);
|
||||||
|
|
||||||
show_reposts(db_client, &user_1.id, &user_2.id)
|
show_reposts(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
|
@ -212,7 +212,7 @@ mod tests {
|
||||||
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
let relationship = get_relationship(db_client, &user_1.id, &user_2.id)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
assert_eq!(relationship.following, true);
|
assert!(relationship.following);
|
||||||
assert_eq!(relationship.showing_reblogs, true);
|
assert!(relationship.showing_reblogs);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,7 +115,7 @@ mod tests {
|
||||||
let mat = regexp.find(text).unwrap();
|
let mat = regexp.find(text).unwrap();
|
||||||
assert_eq!(mat.start(), 9);
|
assert_eq!(mat.start(), 9);
|
||||||
let result = is_inside_code_block(&mat, text);
|
let result = is_inside_code_block(&mat, text);
|
||||||
assert_eq!(result, true);
|
assert!(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -41,7 +41,7 @@ mod tests {
|
||||||
fn test_clean_content_empty() {
|
fn test_clean_content_empty() {
|
||||||
let content = " ";
|
let content = " ";
|
||||||
let result = clean_content(content);
|
let result = clean_content(content);
|
||||||
assert_eq!(result.is_ok(), false);
|
assert!(!result.is_ok());
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
|
@ -194,6 +194,6 @@ mod tests {
|
||||||
..Default::default()
|
..Default::default()
|
||||||
};
|
};
|
||||||
let result = clean_profile_create_data(&mut profile_data);
|
let result = clean_profile_create_data(&mut profile_data);
|
||||||
assert_eq!(result.is_ok(), true);
|
assert!(result.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,8 +21,8 @@ mod tests {
|
||||||
#[test]
|
#[test]
|
||||||
fn test_validate_local_username() {
|
fn test_validate_local_username() {
|
||||||
let result_1 = validate_local_username("name_1");
|
let result_1 = validate_local_username("name_1");
|
||||||
assert_eq!(result_1.is_ok(), true);
|
assert!(result_1.is_ok());
|
||||||
let result_2 = validate_local_username("name&");
|
let result_2 = validate_local_username("name&");
|
||||||
assert_eq!(result_2.is_ok(), false);
|
assert!(!result_2.is_ok());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue