mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-11-30 00:01:25 +00:00
Delete objects from db at the end of each test
This commit is contained in:
parent
b4d06b7705
commit
64e984688a
6 changed files with 49 additions and 12 deletions
|
@ -319,19 +319,29 @@ mod tests {
|
||||||
use assert_json_diff::assert_json_include;
|
use assert_json_diff::assert_json_include;
|
||||||
use serial_test::serial;
|
use serial_test::serial;
|
||||||
|
|
||||||
async fn prepare_comment_test(url: &Url, context: &LemmyContext) {
|
async fn prepare_comment_test(
|
||||||
|
url: &Url,
|
||||||
|
context: &LemmyContext,
|
||||||
|
) -> (ApubPerson, ApubCommunity, ApubPost) {
|
||||||
let person_json = file_to_json_object("assets/lemmy-person.json");
|
let person_json = file_to_json_object("assets/lemmy-person.json");
|
||||||
ApubPerson::from_apub(&person_json, context, url, &mut 0)
|
let person = ApubPerson::from_apub(&person_json, context, url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let community_json = file_to_json_object("assets/lemmy-community.json");
|
let community_json = file_to_json_object("assets/lemmy-community.json");
|
||||||
ApubCommunity::from_apub(&community_json, context, url, &mut 0)
|
let community = ApubCommunity::from_apub(&community_json, context, url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let post_json = file_to_json_object("assets/lemmy-post.json");
|
let post_json = file_to_json_object("assets/lemmy-post.json");
|
||||||
ApubPost::from_apub(&post_json, context, url, &mut 0)
|
let post = ApubPost::from_apub(&post_json, context, url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
(person, community, post)
|
||||||
|
}
|
||||||
|
|
||||||
|
fn cleanup(data: (ApubPerson, ApubCommunity, ApubPost), context: &LemmyContext) {
|
||||||
|
Post::delete(&*context.pool().get().unwrap(), data.2.id).unwrap();
|
||||||
|
Community::delete(&*context.pool().get().unwrap(), data.1.id).unwrap();
|
||||||
|
Person::delete(&*context.pool().get().unwrap(), data.0.id).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
@ -339,7 +349,7 @@ mod tests {
|
||||||
async fn test_fetch_lemmy_comment() {
|
async fn test_fetch_lemmy_comment() {
|
||||||
let context = init_context();
|
let context = init_context();
|
||||||
let url = Url::parse("https://lemmy.ml/comment/38741").unwrap();
|
let url = Url::parse("https://lemmy.ml/comment/38741").unwrap();
|
||||||
prepare_comment_test(&url, &context).await;
|
let data = prepare_comment_test(&url, &context).await;
|
||||||
|
|
||||||
let json = file_to_json_object("assets/lemmy-comment.json");
|
let json = file_to_json_object("assets/lemmy-comment.json");
|
||||||
let mut request_counter = 0;
|
let mut request_counter = 0;
|
||||||
|
@ -354,6 +364,9 @@ mod tests {
|
||||||
|
|
||||||
let to_apub = comment.to_apub(context.pool()).await.unwrap();
|
let to_apub = comment.to_apub(context.pool()).await.unwrap();
|
||||||
assert_json_include!(actual: json, expected: to_apub);
|
assert_json_include!(actual: json, expected: to_apub);
|
||||||
|
|
||||||
|
Comment::delete(&*context.pool().get().unwrap(), comment.id).unwrap();
|
||||||
|
cleanup(data, &context);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
@ -361,7 +374,7 @@ mod tests {
|
||||||
async fn test_fetch_pleroma_comment() {
|
async fn test_fetch_pleroma_comment() {
|
||||||
let context = init_context();
|
let context = init_context();
|
||||||
let url = Url::parse("https://lemmy.ml/comment/38741").unwrap();
|
let url = Url::parse("https://lemmy.ml/comment/38741").unwrap();
|
||||||
prepare_comment_test(&url, &context).await;
|
let data = prepare_comment_test(&url, &context).await;
|
||||||
|
|
||||||
let pleroma_url =
|
let pleroma_url =
|
||||||
Url::parse("https://queer.hacktivis.me/objects/8d4973f4-53de-49cd-8c27-df160e16a9c2")
|
Url::parse("https://queer.hacktivis.me/objects/8d4973f4-53de-49cd-8c27-df160e16a9c2")
|
||||||
|
@ -380,12 +393,15 @@ mod tests {
|
||||||
assert_eq!(comment.content.len(), 64);
|
assert_eq!(comment.content.len(), 64);
|
||||||
assert!(!comment.local);
|
assert!(!comment.local);
|
||||||
assert_eq!(request_counter, 0);
|
assert_eq!(request_counter, 0);
|
||||||
|
|
||||||
|
Comment::delete(&*context.pool().get().unwrap(), comment.id).unwrap();
|
||||||
|
cleanup(data, &context);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
#[serial]
|
#[serial]
|
||||||
async fn test_html_to_markdown_sanitize() {
|
async fn test_html_to_markdown_sanitize() {
|
||||||
let parsed = parse_html(&"<script></script><b>hello</b>");
|
let parsed = parse_html("<script></script><b>hello</b>");
|
||||||
assert_eq!(parsed, "**hello**");
|
assert_eq!(parsed, "**hello**");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -319,6 +319,7 @@ mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::objects::tests::{file_to_json_object, init_context};
|
use crate::objects::tests::{file_to_json_object, init_context};
|
||||||
use assert_json_diff::assert_json_include;
|
use assert_json_diff::assert_json_include;
|
||||||
|
use lemmy_db_schema::traits::Crud;
|
||||||
use serial_test::serial;
|
use serial_test::serial;
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
@ -347,5 +348,7 @@ mod tests {
|
||||||
|
|
||||||
let to_apub = community.to_apub(context.pool()).await.unwrap();
|
let to_apub = community.to_apub(context.pool()).await.unwrap();
|
||||||
assert_json_include!(actual: json_orig, expected: to_apub);
|
assert_json_include!(actual: json_orig, expected: to_apub);
|
||||||
|
|
||||||
|
Community::delete(&*context.pool().get().unwrap(), community.id).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,6 +272,7 @@ mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
use crate::objects::tests::{file_to_json_object, init_context};
|
use crate::objects::tests::{file_to_json_object, init_context};
|
||||||
use assert_json_diff::assert_json_include;
|
use assert_json_diff::assert_json_include;
|
||||||
|
use lemmy_db_schema::traits::Crud;
|
||||||
use serial_test::serial;
|
use serial_test::serial;
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
|
@ -294,15 +295,18 @@ mod tests {
|
||||||
|
|
||||||
let to_apub = person.to_apub(context.pool()).await.unwrap();
|
let to_apub = person.to_apub(context.pool()).await.unwrap();
|
||||||
assert_json_include!(actual: json, expected: to_apub);
|
assert_json_include!(actual: json, expected: to_apub);
|
||||||
|
|
||||||
|
DbPerson::delete(&*context.pool().get().unwrap(), person.id).unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
#[actix_rt::test]
|
#[actix_rt::test]
|
||||||
#[serial]
|
#[serial]
|
||||||
async fn test_fetch_pleroma_person() {
|
async fn test_fetch_pleroma_person() {
|
||||||
|
let context = init_context();
|
||||||
let json = file_to_json_object("assets/pleroma-person.json");
|
let json = file_to_json_object("assets/pleroma-person.json");
|
||||||
let url = Url::parse("https://queer.hacktivis.me/users/lanodan").unwrap();
|
let url = Url::parse("https://queer.hacktivis.me/users/lanodan").unwrap();
|
||||||
let mut request_counter = 0;
|
let mut request_counter = 0;
|
||||||
let person = ApubPerson::from_apub(&json, &init_context(), &url, &mut request_counter)
|
let person = ApubPerson::from_apub(&json, &context, &url, &mut request_counter)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
|
@ -313,5 +317,7 @@ mod tests {
|
||||||
assert_eq!(request_counter, 0);
|
assert_eq!(request_counter, 0);
|
||||||
// TODO: pleroma uses summary for user profile, while we use content
|
// TODO: pleroma uses summary for user profile, while we use content
|
||||||
//assert!(person.bio.is_some());
|
//assert!(person.bio.is_some());
|
||||||
|
|
||||||
|
DbPerson::delete(&*context.pool().get().unwrap(), person.id).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,11 +294,11 @@ mod tests {
|
||||||
let context = init_context();
|
let context = init_context();
|
||||||
let url = Url::parse("https://lemmy.ml/post/55143").unwrap();
|
let url = Url::parse("https://lemmy.ml/post/55143").unwrap();
|
||||||
let community_json = file_to_json_object("assets/lemmy-community.json");
|
let community_json = file_to_json_object("assets/lemmy-community.json");
|
||||||
ApubCommunity::from_apub(&community_json, &context, &url, &mut 0)
|
let community = ApubCommunity::from_apub(&community_json, &context, &url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let person_json = file_to_json_object("assets/lemmy-person.json");
|
let person_json = file_to_json_object("assets/lemmy-person.json");
|
||||||
ApubPerson::from_apub(&person_json, &context, &url, &mut 0)
|
let person = ApubPerson::from_apub(&person_json, &context, &url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let json = file_to_json_object("assets/lemmy-post.json");
|
let json = file_to_json_object("assets/lemmy-post.json");
|
||||||
|
@ -317,5 +317,9 @@ mod tests {
|
||||||
|
|
||||||
let to_apub = post.to_apub(context.pool()).await.unwrap();
|
let to_apub = post.to_apub(context.pool()).await.unwrap();
|
||||||
assert_json_include!(actual: json, expected: to_apub);
|
assert_json_include!(actual: json, expected: to_apub);
|
||||||
|
|
||||||
|
Post::delete(&*context.pool().get().unwrap(), post.id).unwrap();
|
||||||
|
Person::delete(&*context.pool().get().unwrap(), person.id).unwrap();
|
||||||
|
Community::delete(&*context.pool().get().unwrap(), community.id).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -213,12 +213,12 @@ mod tests {
|
||||||
let context = init_context();
|
let context = init_context();
|
||||||
let url = Url::parse("https://lemmy.ml/private_message/1621").unwrap();
|
let url = Url::parse("https://lemmy.ml/private_message/1621").unwrap();
|
||||||
let lemmy_person = file_to_json_object("assets/lemmy-person.json");
|
let lemmy_person = file_to_json_object("assets/lemmy-person.json");
|
||||||
ApubPerson::from_apub(&lemmy_person, &context, &url, &mut 0)
|
let person1 = ApubPerson::from_apub(&lemmy_person, &context, &url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let pleroma_person = file_to_json_object("assets/pleroma-person.json");
|
let pleroma_person = file_to_json_object("assets/pleroma-person.json");
|
||||||
let pleroma_url = Url::parse("https://queer.hacktivis.me/users/lanodan").unwrap();
|
let pleroma_url = Url::parse("https://queer.hacktivis.me/users/lanodan").unwrap();
|
||||||
ApubPerson::from_apub(&pleroma_person, &context, &pleroma_url, &mut 0)
|
let person2 = ApubPerson::from_apub(&pleroma_person, &context, &pleroma_url, &mut 0)
|
||||||
.await
|
.await
|
||||||
.unwrap();
|
.unwrap();
|
||||||
let json = file_to_json_object("assets/lemmy-private-message.json");
|
let json = file_to_json_object("assets/lemmy-private-message.json");
|
||||||
|
@ -233,5 +233,9 @@ mod tests {
|
||||||
|
|
||||||
let to_apub = pm.to_apub(context.pool()).await.unwrap();
|
let to_apub = pm.to_apub(context.pool()).await.unwrap();
|
||||||
assert_json_include!(actual: json, expected: to_apub);
|
assert_json_include!(actual: json, expected: to_apub);
|
||||||
|
|
||||||
|
PrivateMessage::delete(&*context.pool().get().unwrap(), pm.id).unwrap();
|
||||||
|
Person::delete(&*context.pool().get().unwrap(), person1.id).unwrap();
|
||||||
|
Person::delete(&*context.pool().get().unwrap(), person2.id).unwrap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ impl Crud for PrivateMessage {
|
||||||
.set(private_message_form)
|
.set(private_message_form)
|
||||||
.get_result::<Self>(conn)
|
.get_result::<Self>(conn)
|
||||||
}
|
}
|
||||||
|
fn delete(conn: &PgConnection, pm_id: Self::IdType) -> Result<usize, Error> {
|
||||||
|
use crate::schema::private_message::dsl::*;
|
||||||
|
diesel::delete(private_message.find(pm_id)).execute(conn)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl PrivateMessage {
|
impl PrivateMessage {
|
||||||
|
|
Loading…
Reference in a new issue