From c185063847c947d6d5a2fbcf6ee7c3d70c74a9ab Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Tue, 30 Jul 2024 09:55:29 +0800 Subject: [PATCH 1/3] fix: publish nothing should result in error --- src/api/workspace.rs | 4 +++- tests/workspace/publish.rs | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/api/workspace.rs b/src/api/workspace.rs index dde1872d..3db8a653 100644 --- a/src/api/workspace.rs +++ b/src/api/workspace.rs @@ -1223,7 +1223,9 @@ async fn post_publish_collabs_handler( } if accumulator.is_empty() { - return Ok(Json(AppResponse::Ok())); + return Err( + AppError::InvalidRequest(String::from("did not receive any data to publish")).into(), + ); } biz::workspace::ops::publish_collabs(&state.pg_pool, &workspace_id, &user_uuid, &accumulator) .await?; diff --git a/tests/workspace/publish.rs b/tests/workspace/publish.rs index beffa4ea..0f0948be 100644 --- a/tests/workspace/publish.rs +++ b/tests/workspace/publish.rs @@ -82,6 +82,16 @@ async fn test_publish_doc() { let view_id_1 = uuid::Uuid::new_v4(); let publish_name_2 = "publish-name-2"; let view_id_2 = uuid::Uuid::new_v4(); + + { + // cannot publish nothing + let err = c + .publish_collabs::(&workspace_id, vec![]) + .await + .unwrap_err(); + assert_eq!(err.code, ErrorCode::InvalidRequest); + } + c.publish_collabs::( &workspace_id, vec![ From b122e845b003c8ba2b93ab76171b4fb439fab9c6 Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Tue, 30 Jul 2024 10:42:56 +0800 Subject: [PATCH 2/3] fix: publish nothing test case --- tests/workspace/publish.rs | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/tests/workspace/publish.rs b/tests/workspace/publish.rs index 0f0948be..6411384e 100644 --- a/tests/workspace/publish.rs +++ b/tests/workspace/publish.rs @@ -83,15 +83,6 @@ async fn test_publish_doc() { let publish_name_2 = "publish-name-2"; let view_id_2 = uuid::Uuid::new_v4(); - { - // cannot publish nothing - let err = c - .publish_collabs::(&workspace_id, vec![]) - .await - .unwrap_err(); - assert_eq!(err.code, ErrorCode::InvalidRequest); - } - c.publish_collabs::( &workspace_id, vec![ @@ -557,10 +548,14 @@ async fn test_publish_load_test() { .await .unwrap(); - // publish nothing - c.publish_collabs::<(), &[u8]>(&workspace_id, vec![]) - .await - .unwrap(); + { + // cannot publish nothing + let err = c + .publish_collabs::<(), &[u8]>(&workspace_id, vec![]) + .await + .unwrap_err(); + assert_eq!(err.code, ErrorCode::InvalidRequest); + } // publish nothing with metadata c.publish_collabs::(&workspace_id, vec![]) From 498d98cd3356616eab416e3ac0b3d94f430ab07d Mon Sep 17 00:00:00 2001 From: Zack Fu Zi Xiang Date: Tue, 30 Jul 2024 11:27:35 +0800 Subject: [PATCH 3/3] fix: ci tests --- tests/workspace/publish.rs | 5 ----- 1 file changed, 5 deletions(-) diff --git a/tests/workspace/publish.rs b/tests/workspace/publish.rs index 6411384e..4ef2271a 100644 --- a/tests/workspace/publish.rs +++ b/tests/workspace/publish.rs @@ -557,11 +557,6 @@ async fn test_publish_load_test() { assert_eq!(err.code, ErrorCode::InvalidRequest); } - // publish nothing with metadata - c.publish_collabs::(&workspace_id, vec![]) - .await - .unwrap(); - // publish 1000 collabs let collabs: Vec>> = (0..1000) .map(|i| PublishCollabItem {