| 
									
										
										
										
											2024-01-17 02:59:15 +08:00
										 |  |  | // use std::fs::File;
 | 
					
						
							|  |  |  | // use std::io::{Cursor, Read};
 | 
					
						
							|  |  |  | // use std::path::Path;
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // use uuid::Uuid;
 | 
					
						
							|  |  |  | // use zip::ZipArchive;
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // use flowy_storage::StorageObject;
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // use crate::document::supabase_test::helper::FlowySupabaseDocumentTest;
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // #[tokio::test]
 | 
					
						
							|  |  |  | // async fn supabase_document_upload_text_file_test() {
 | 
					
						
							|  |  |  | //   if let Some(test) = FlowySupabaseDocumentTest::new().await {
 | 
					
						
							|  |  |  | //     let workspace_id = test.get_current_workspace().await.id;
 | 
					
						
							|  |  |  | //     let storage_service = test
 | 
					
						
							|  |  |  | //       .document_manager
 | 
					
						
							|  |  |  | //       .get_file_storage_service()
 | 
					
						
							|  |  |  | //       .upgrade()
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     let object = StorageObject::from_bytes(
 | 
					
						
							|  |  |  | //       &workspace_id,
 | 
					
						
							|  |  |  | //       &Uuid::new_v4().to_string(),
 | 
					
						
							|  |  |  | //       "hello world".as_bytes(),
 | 
					
						
							|  |  |  | //       "text/plain".to_string(),
 | 
					
						
							|  |  |  | //     );
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     let url = storage_service.create_object(object).await.unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     let bytes = storage_service
 | 
					
						
							|  |  |  | //       .get_object(url.clone())
 | 
					
						
							|  |  |  | //       .await
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //     let s = String::from_utf8(bytes.to_vec()).unwrap();
 | 
					
						
							|  |  |  | //     assert_eq!(s, "hello world");
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Delete the text file
 | 
					
						
							|  |  |  | //     let _ = storage_service.delete_object(url).await;
 | 
					
						
							|  |  |  | //   }
 | 
					
						
							|  |  |  | // }
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | // #[tokio::test]
 | 
					
						
							|  |  |  | // async fn supabase_document_upload_zip_file_test() {
 | 
					
						
							|  |  |  | //   if let Some(test) = FlowySupabaseDocumentTest::new().await {
 | 
					
						
							|  |  |  | //     let workspace_id = test.get_current_workspace().await.id;
 | 
					
						
							|  |  |  | //     let storage_service = test
 | 
					
						
							|  |  |  | //       .document_manager
 | 
					
						
							|  |  |  | //       .get_file_storage_service()
 | 
					
						
							|  |  |  | //       .upgrade()
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Upload zip file
 | 
					
						
							|  |  |  | //     let object = StorageObject::from_file(
 | 
					
						
							|  |  |  | //       &workspace_id,
 | 
					
						
							|  |  |  | //       &Uuid::new_v4().to_string(),
 | 
					
						
							|  |  |  | //       "./tests/asset/test.txt.zip",
 | 
					
						
							|  |  |  | //     );
 | 
					
						
							|  |  |  | //     let url = storage_service.create_object(object).await.unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Read zip file
 | 
					
						
							|  |  |  | //     let zip_data = storage_service
 | 
					
						
							|  |  |  | //       .get_object(url.clone())
 | 
					
						
							|  |  |  | //       .await
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //     let reader = Cursor::new(zip_data);
 | 
					
						
							|  |  |  | //     let mut archive = ZipArchive::new(reader).unwrap();
 | 
					
						
							|  |  |  | //     for i in 0..archive.len() {
 | 
					
						
							|  |  |  | //       let mut file = archive.by_index(i).unwrap();
 | 
					
						
							|  |  |  | //       let name = file.name().to_string();
 | 
					
						
							|  |  |  | //       let mut out = Vec::new();
 | 
					
						
							|  |  |  | //       file.read_to_end(&mut out).unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //       if name.starts_with("__MACOSX/") {
 | 
					
						
							|  |  |  | //         continue;
 | 
					
						
							|  |  |  | //       }
 | 
					
						
							|  |  |  | //       assert_eq!(name, "test.txt");
 | 
					
						
							|  |  |  | //       assert_eq!(String::from_utf8(out).unwrap(), "hello world");
 | 
					
						
							|  |  |  | //     }
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Delete the zip file
 | 
					
						
							|  |  |  | //     let _ = storage_service.delete_object(url).await;
 | 
					
						
							|  |  |  | //   }
 | 
					
						
							|  |  |  | // }
 | 
					
						
							|  |  |  | // #[tokio::test]
 | 
					
						
							|  |  |  | // async fn supabase_document_upload_image_test() {
 | 
					
						
							|  |  |  | //   if let Some(test) = FlowySupabaseDocumentTest::new().await {
 | 
					
						
							|  |  |  | //     let workspace_id = test.get_current_workspace().await.id;
 | 
					
						
							|  |  |  | //     let storage_service = test
 | 
					
						
							|  |  |  | //       .document_manager
 | 
					
						
							|  |  |  | //       .get_file_storage_service()
 | 
					
						
							|  |  |  | //       .upgrade()
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Upload zip file
 | 
					
						
							|  |  |  | //     let object = StorageObject::from_file(
 | 
					
						
							|  |  |  | //       &workspace_id,
 | 
					
						
							|  |  |  | //       &Uuid::new_v4().to_string(),
 | 
					
						
							|  |  |  | //       "./tests/asset/logo.png",
 | 
					
						
							|  |  |  | //     );
 | 
					
						
							|  |  |  | //     let url = storage_service.create_object(object).await.unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     let image_data = storage_service
 | 
					
						
							|  |  |  | //       .get_object(url.clone())
 | 
					
						
							|  |  |  | //       .await
 | 
					
						
							|  |  |  | //       .unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Read the image file
 | 
					
						
							|  |  |  | //     let mut file = File::open(Path::new("./tests/asset/logo.png")).unwrap();
 | 
					
						
							|  |  |  | //     let mut local_data = Vec::new();
 | 
					
						
							|  |  |  | //     file.read_to_end(&mut local_data).unwrap();
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     assert_eq!(image_data, local_data);
 | 
					
						
							|  |  |  | //
 | 
					
						
							|  |  |  | //     // Delete the image
 | 
					
						
							|  |  |  | //     let _ = storage_service.delete_object(url).await;
 | 
					
						
							|  |  |  | //   }
 | 
					
						
							|  |  |  | // }
 |