| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 | 
							- 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 storage_service = test
 
-       .document_manager
 
-       .get_file_storage_service()
 
-       .upgrade()
 
-       .unwrap();
 
-     let object = StorageObject::from_bytes(
 
-       &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_by_url(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_by_url(url).await;
 
-   }
 
- }
 
- #[tokio::test]
 
- async fn supabase_document_upload_zip_file_test() {
 
-   if let Some(test) = FlowySupabaseDocumentTest::new().await {
 
-     let storage_service = test
 
-       .document_manager
 
-       .get_file_storage_service()
 
-       .upgrade()
 
-       .unwrap();
 
-     // Upload zip file
 
-     let object =
 
-       StorageObject::from_file(&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_by_url(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_by_url(url).await;
 
-   }
 
- }
 
- #[tokio::test]
 
- async fn supabase_document_upload_image_test() {
 
-   if let Some(test) = FlowySupabaseDocumentTest::new().await {
 
-     let storage_service = test
 
-       .document_manager
 
-       .get_file_storage_service()
 
-       .upgrade()
 
-       .unwrap();
 
-     // Upload zip file
 
-     let object = StorageObject::from_file(&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_by_url(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_by_url(url).await;
 
-   }
 
- }
 
 
  |