mirror of
https://github.com/stoatchat/stoatchat.git
synced 2026-07-14 05:26:59 +00:00
43 lines
1.1 KiB
Rust
43 lines
1.1 KiB
Rust
use revolt_files::{EncryptionKey, FileStorageRepository, S3Storage};
|
|
|
|
#[tokio::test]
|
|
async fn test_upload_and_download() {
|
|
let encryption = EncryptionKey::from_config().await;
|
|
let s3 = S3Storage::from_config(encryption).await;
|
|
|
|
let buf = [67];
|
|
let bucket_id = uuid::Uuid::new_v4().to_string();
|
|
|
|
s3.create_bucket(&bucket_id).await.unwrap();
|
|
|
|
let iv = s3
|
|
.encrypt_and_upload_file(&bucket_id, "/my-file", &buf)
|
|
.await
|
|
.unwrap();
|
|
|
|
let buf = s3
|
|
.fetch_and_decrypt_file(&bucket_id, "/my-file", &iv)
|
|
.await
|
|
.unwrap();
|
|
|
|
assert_eq!(buf.len(), 1);
|
|
assert_eq!(buf[0], 67);
|
|
}
|
|
|
|
#[tokio::test]
|
|
async fn test_upload_and_delete() {
|
|
let encryption = EncryptionKey::from_config().await;
|
|
let s3 = S3Storage::from_config(encryption).await;
|
|
|
|
let buf = [67];
|
|
let bucket_id = uuid::Uuid::new_v4().to_string();
|
|
|
|
s3.create_bucket(&bucket_id).await.unwrap();
|
|
|
|
s3.encrypt_and_upload_file(&bucket_id, "/my-file", &buf)
|
|
.await
|
|
.unwrap();
|
|
|
|
s3.delete_file(&bucket_id, "/my-file").await.unwrap();
|
|
}
|